Systems, methods and devices for remote trap monitoring

ABSTRACT

A trap monitoring apparatus, method and system includes an electronic monitoring device monitoring a trap for predetermined condition(s) based on received sensory input, the electronic monitoring device having a wireless transmitter that sends alert messages to a remote notification service based on receiving alerts from sensors, and further based on values of one or more operational parameters to determine whether to ignore sensed predetermined conditions, or to immediately notify or delay notifying a remote notification service.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation-in-part of U.S. patent applicationSer. No. 16/183,732, filed Nov. 8, 2018, now U.S. Pat. No. 10,694,338,which claims the benefit of U.S. Provisional Patent Application No.62/682,508, filed Nov. 7, 2017 and of U.S. Provisional PatentApplication No. 62/752,284, filed Oct. 29, 2018, each of which isincorporated by reference herein in its entirety. This applicationclaims the benefit of U.S. Patent Application No. 62/841,452, filed May1, 2019, which is incorporated by reference herein in its entirety.

BACKGROUND

The conventional method for monitoring the presence of an animal in atrap is to physically check the trap in person. Pest control companiesand professional wildlife trappers often need to monitor multiple traps.Often these traps are located far away from where the person monitoringthe trap lives or works, and/or from other traps being monitoredconcurrently. Additionally, such traps are often placed in ungroomed ornatural areas that may be difficult to reach and/or require significanteffort on the part of the person monitoring the trap. For variousreasons, including regulatory requirements, ethics, and economics, it isimportant to remove captured animals from traps expeditiously.Accordingly, traps need to be checked regularly and frequently for thepresence of an animal.

DESCRIPTION OF THE DRAWINGS

FIG. 1 is a system diagram of an exemplary environment implementing aremote trap monitoring system in accordance with an embodiment of theinvention;

FIGS. 2A-2D are respective perspective views of an exemplary trap havinga sensor monitoring and transmission device (SMT) attached in variouspositions thereto;

FIG. 3 is a flowchart illustrating an exemplary embodiment of anotification service method for notifying recipients of a change instate or detection of a monitored activity type at a trap;

FIG. 4 is a system diagram illustrating an exemplary embodiment of anetwork environment implementing a remote trap monitoring system;

FIG. 5 is a schematic block diagram of an exemplary embodiment of anSMT;

FIG. 6 is a flowchart illustrating an exemplary operation of the SMT;

FIG. 7 is a diagram illustrating the bearers set up for a Long TermEvolution (LTE) cellular network connection;

FIG. 8A illustrates an example format of a message payload;

FIG. 8B illustrates the format of an IP packet transmitted from the SMTto the nearest cellular site;

FIG. 8C illustrates the format of an S1 GTP IP packet;

FIG. 8D illustrates the format of an S5 GTP packet;

FIG. 8E illustrates an extracted IP packet;

FIG. 9 is a flow diagram illustrating operation of an exemplaryembodiment of a notification service;

FIG. 10 is a network diagram of an exemplary embodiment of thearchitecture of a notification service;

FIG. 11 is an operational flow diagram of exemplary steps performed by anotification service;

FIG. 12 is a format diagram of a record stored in a subscriber database;

FIG. 13 is a communications interaction diagram illustrating anexemplary operational implementation of the communications between anSMT and a notification service;

FIGS. 14A-14F are flowcharts illustrating an example implementation of amanual pause feature;

FIGS. 15A-15E are flowcharts illustrating an example implementation ofan automatic pause feature;

FIGS. 16A-16E are flowcharts illustrating an example implementation ofan automatic check-in feature;

FIGS. 17A-17E are flowcharts illustrating an example implementation ofan alert delay feature;

FIGS. 18A-18G are flowcharts illustrating an example implementation of abattery saving mode feature;

FIG. 19 is a flow diagram illustrating various activities that can bedetermined based on sensor alerts that the SMT receives from itssensors;

FIG. 20 is a block diagram of an exemplary embodiment of an SMT hub;

FIG. 21 is a block diagram of a network environment in which an SMT huboperates;

FIG. 22 is a high-level exemplary format of a message that istransmitted by a remote sensor;

FIG. 23A is an exploded view of a trap monitor; and

FIG. 23B is a perspective view of the trap monitor of FIG. 23A.

SUMMARY

A trap monitoring apparatus, method and system includes an electronicmonitoring device monitoring a trap for predetermined condition(s) basedon received sensory input, the electronic monitoring device having awireless transmitter that sends alert messages to a remote notificationservice based on receiving alerts from sensors, and further based onvalues of one or more operational parameters to determine whether toignore sensed predetermined conditions, or to immediately notify ordelay notifying a remote notification service.

DETAILED DESCRIPTION

Various embodiments will be described in detail with reference to thedrawings, wherein like reference numerals represent like parts andassemblies throughout the several views. Reference to variousembodiments does not limit the scope of the claims attached hereto.Additionally, any examples set forth in this specification are notintended to be limiting and merely set forth some of the many possibleembodiments for the appended claims.

Referring now to FIG. 1, a remote trap monitoring system 1 includes atrap 2, a sensor monitoring and transmission device (SMT) 5, one or moresensors 4, a communications network 10, a trap monitoring notificationservice 7 and one or more remote electronic user devices 9.

Referring to FIG. 2A, which depicts an example embodiment of trap 2 ingreater detail, trap 2 includes a plurality of walls defining anentrance and an inner cavity. The walls include bottom wall 3 a, firstside wall 3 b, top wall 3 c, second side wall 3 d, and rear wall 3 e. Amovable trapping member 3 f (such as, but not limited to, a door) ispositioned proximal to the entrance and is arranged to move from an openstate in which movable trapping member 3 f does not block the entranceand a closed state in which the movable trapping member 3 f blocks theentrance to prevent exit from the cavity. FIG. 2A illustrates themovable trapping member 3 f in an open state, and FIG. 2B illustratesthe movable trapping member 3 f in a closed state. Although not shown,the movable trapping member 3 f is typically retained in the closedposition by a retaining member until the retaining member is released,typically by a human. Although a certain type of trap is illustrated,other embodiments can include different types of traps and movabletrapping member. Examples might include traps that have jaws that clampon an animal or enclosures that surround an animal or devices forlaunching a net or other items designed to entangle an animal (e.g. anet).

Sensors 4 are integrated into, embedded within, or in remotecommunication with, the SMT 5 to detect various states of the trap andtypes of activity at the trap 2. The sensor(s) 4 a, 4 b (and optionaladditional sensors (not shown) may include a number of different typesof sensors to support detection of the monitored trap states, trapactivity types, and environmental conditions, and may include, by way ofillustration and not limitation, any one or more, or combination of, anaccelerometer, a microphone, a passive infrared (PIR) sensor, a rangesensor, a strain gauge sensor, an electromagnetic switch (such as a reedswitch or Hall effect sensor), a magnetic sensor, a camera, a chargesensor, a load sensor, a voltage sensor, a resistance sensor, acapacitance sensor, a thermo sensor, a temperature sensor, a humiditysensor, a flex sensor, a pressure sensor, a chemical composition sensor,an optical sensor, a UV Index sensor, a sound sensor, a wind sensor, apositioning sensor, a moisture sensor, etc. Alternative sensors may beused without departing from the spirit and scope of the inventiveembodiments.

One state of significant interest to remote trap monitoring is the stateof the moveable trapping member—that is, whether the movable trappingmember 3 f is in an open state or a closed state. The state of themovable trapping member may be detected using a sensor 4, which may beimplemented using various types of sensors, such as, by way ofillustration and not limitation, a proximity sensor, an accelerometer, amicrophone, a passive infrared (PIR) sensor, a reed switch, a Halleffect sensor, a camera, an optical sensor, a flex sensor, a straingauge, a range sensor, a capacitive load sensor, a pressure sensor, aload sensor, and a positioning sensor.

In an embodiment, the state (open or closed) of the movable trappingmember 3 f is detected using an electromagnetic sensor or switch (forexample only and not limitation, a reed switch), shown as sensor 4 b.The reed switch 4 b comprises a one or more ferrous reeds encased in anenvironmentally sealed container that become magnetized when inproximity to a magnet 6. In a normally open type of reed switch, theswitch is open when the reed switch 4 b is not in proximity to themagnet 6; thus, placement of the magnet such that it comes intoproximity of the reed switch only when the movable trapping member 3 fis in the closed state allows the reed switch to positively indicatethat the movable trapping member 3 f is in the closed state only whenthe movable trapping member 3 f is in fact in the closed state (i.e.,the trap door is closed). Generally the closing of the trap door afterthe trap has been set indicates that an animal is trapped inside thetrap. Other reed switch configurations could also be used. For example,the reed switch could be a normally closed switch whereby the detectioncircuit is programmed to equate the closed state of the movable trappingmember 3 f with the open state of the switch.

In an embodiment, the sensor 4 b is integrated into the SMT 5. In analternative embodiment, the sensor 4 b is remote from the SMT 5 and iselectrically connected by physical wire or local wireless signaltransmission to the SMT 5. As shown in the embodiment of FIG. 2B, sensor4 b is integrated into the SMT 5, which is mounted in proximity to theentry of the trap. A magnet 6 is mounted to the movable member 3 f,whereby when the movable trapping member 6 f is in the open state (i.e.,the door is open), the sensor does not activate the sensor 4 b, and whenthe movable trapping member 6 f is in the closed state (i.e., the dooris closed), the sensor 4 b is activated—that is, the sensor 4 b andmagnet 6 are aligned and in sufficient proximity to one another toactivate (via the magnetic field) the reed switch 4 b is magnetized bythe magnet 6 when the movable trapping member 3 f enters the closedstate (i.e., the trap door closes). Alternatively, the magnet 6 may bemounted on the trap, and the sensor 4 b mounted on the movable trappingmember 3 f.

In an alternative embodiment, the state of the movable trapping member 3f is detected using an alternative sensor, such as but not limited to anaccelerometer, a PIR sensor, a range sensor, etc., shown as sensor 4 a.Sensor 4 a may be integrated into the SMT 5, or may be attached to thetrap, remote from the SMT 5, but in wired or wireless communication withthe SMT 5.

FIGS. 2C and 2D illustrate an SMT 5 attached to the trap 2 in variouspositions, such as on the side wall (FIG. 2C) and the top (FIG. 2D) ofthe trap 2. In these embodiments, the SMT 5 includes a sensor 4 embeddedinto the SMT 5 itself, which is capable of detecting one or moreactivity types and/or state(s) of the trap 2. For example, if at leastone sensor 4 a is an activity sensor such as but not limited to anaccelerometer, a PIR sensor, a range sensor, etc., as discussedhereinafter, the state of the movable trap member 3 f and various typesof activities in connection with the trap 2 and/or an animal trapped inthe trap 2, may be detected.

Returning to FIG. 1, the sensor monitoring and transmission (SMT) moduleincludes at least a controller (CTL) 5 a and a radio frequency (RF)transmission module (RTM) 5 b. The sensor(s) 4 a and/or 4 b senses trapstatus and/or trap activity in connection with the remotely monitoredtrap 2. The controller 5 a is responsive to sensor information from thesensor(s) 4 a, 4 b and generates trap event notification messages thatare transmitted by the RTM 5 b to a remote notification service 7, viaone or more network(s) 10. The SMT 5 is registered with the notificationservice 7. In a preferred embodiment the notification service 7 isaccessible via a packet data network (PDN) such as the Internet, but itis to be understood that the notification message may be transmittedfrom the SMT 5 and routed to the notification service 7 across multipledifferent networks having different physical and logical communicationstacks/protocols, such as one or more different cellular networks and/orone or more different packet data networks.

The SMT 5 may be a standalone unit separate from the trap 2 thatmonitors the state of the trap remotely, or through contact with thetrap 2 through physical attachment to the trap. The SMT 5 mayalternatively be attached to, embedded in, integrated into or otherwiseassociated with the trap 2. The term “trap/SMT” herein refers to thecombined unit of the trap and SMT, regardless of the form of thecombination, so long as the SMT is able to detect monitored stateinformation or activity in connection with the trap. In the embodimentshown in FIGS. 2A-2D, the SMT 5 is a separate standalone unit that isattached to existing (“legacy”) trap units 2 via magnets, straps,Velcro, glue, epoxy, screws, hook(s), carabiner(s), ring(s), etc. In analternative embodiment the SMT 5 is embedded and/or integrated into thetrap 2 itself (not shown).

The trap monitoring notification service 7 stores registrationinformation in a database 8. The registration information stored in thedatabase 8 includes the device identifier for each trap 2/SMT 5 that isregistered with the notification service 7, along with correspondingrecipient and delivery service information associated therewith. In anembodiment, the database 8 stores the device ID of each registereddevice (SMT 5), along with, for each device ID, one or more deliveryaddresses and corresponding indications of electronic delivery serviceswhich are to be used to deliver a notification to the correspondingrespective delivery addresses. Such a schema allows for notification toone or more notification recipients via various notification deliverymechanisms. For example, for a given registered device SMT 5,notification may be sent to one or more recipients via individualrespective chosen notification methodologies (e.g., email, SMS text,in-app push notification, etc.) so that each notification recipient canreceive notification via a respective preferred technology.

For example, for a given registered SMT 5, the notification service maybe configured such that a notification is delivered via email to aparticular user's (a “notification recipient” or simply “recipient”)email address, via SMS text to a recipient's mobile phone number, and toa recipient's app executing on the recipient's smart phone (andaddressed via the smart phone number or email address). A differentregistered SMT 5 (not shown) having a different device ID may beconfigured such that a notification is delivered, for example, only viaSMS text to a different recipient's mobile phone number. The describedregistration schema contemplates the ability to allow the notificationmethodology for different registered devices to be individuallyconfigured such that notification recipient information and preferencescan be specified on a device-by-device basis—that is, on a per trap/SMTmodule basis). In embodiments, users of the trap monitoring notificationservice 7 can select the notification delivery service(s) andcorresponding notification recipients to be notified by the service, viaa web-enabled app (see 311 a in FIG. 10), a website portal or API. Whileit is contemplated that the notification service 7 supportsuser-configurable notification preferences, it is also within the scopeof the invention that the notification delivery service(s) andnotification recipients are predetermined by an administrator, andenterprise-level entity or other entity.

In operation, upon detection of a state change or detection of anactivity type at the trap 2 (and potentially upon the detection of oneor more additional environmental and/or the calculation of one or moreconditions based on a calculated or state machine condition or state inthe SMT 5), the controller 5 a of the SMT 5 coordinates with the RTM 5 bto send an alert, via one or more networks 10, to the notificationservice 7. Upon receiving an alert from the SMT 5, the notificationservice 7 determines the device ID of the SMT 5 from which the alert wassourced, identifies the delivery addresses and corresponding electronicnotification delivery services by which notification recipientsassociated with the device ID are to be notified, and sends anotification to, preferably each of, the identified delivery addressesassociated with the device ID via the identified corresponding deliveryservices. In this way, notification recipients of electronic messagesaccessed on remote devices 9 (such as but not limited to one or moresmartphones 9 a, computers 9 b, cell phones 9 c, tablets 9 d, and/orlaptops 9 e, collectively 9) can be informed when monitored activity andenvironmental conditions occur with respect to the monitored trap 2.

The communications network(s) 10 may be any network or combination ofnetworks that enables transmission of an alert from SMT 5 to the trapmonitoring notification service 7, and further that enables the trapmonitoring notification service 7 to transmit a notification message tothe smart device(s) of the notification recipient(s) associated with theSMT 5. In various embodiments, the communications network may compriseone or more, or a combination of, wireless and/or wired networks, suchas but not limited to Wide Area Networks (WANs), Local Area Networks(LANs), Wireless LANs (WLANs), Low Power Wide Area Networks (LPWANs),3G, 4G and 5G cellular networks, Wi-Fi networks, satellite networks,wireless mesh networks (for example using a Zigbee standard protocol),Bluetooth, etc., and may thereby require use of, and (if required)translation between, various transport protocols, including by way ofexample and not limitation, TCP, TCP/IP, IP, Ethernet, Zigbee,Bluetooth, etc. In a preferred embodiment, the network(s) 10 comprisesan LPWAN such as a 3GPP Long Term Evolution (LTE) CAT-M1 (or otherenhanced Machine-Type Communication (eMTC) protocol, a Narrow-BandInternet of Things (NB-IoT) protocol, or an Extended coverage GSM IoT(EC-GSM-IoT) protocol, at least for direct communication between thenetwork(s) 10 and the SMT 5.

FIG. 3 is a flowchart illustrating an exemplary embodiment of anotification service method for notifying recipients of a change instate or detection of a monitored activity type at a trap 2. Accordingto the method 10, a trap 2 having an SMT 5 attached to, embedded in,integrated with or otherwise associated with, is installed at a location(step 11). When a monitored event or condition is detected by one of thesensor(s) 4, the SMT 5 detects or is otherwise notified of the monitoredevent or condition (step 12). Optionally, the controller performspre-processing to determine whether predetermined conditions are metthat warrant the sending of an alert to the notification service 7 (step13). If the optional step is not implemented, or if in step 13 thepredetermined conditions are found to be met, the SMT 5 formats an alertmessage (step 14) and transmits the alert message to the notificationservice 7 (step 15). In an embodiment, the SMT controller 5 a formats analert message that contains at least a device identifier (the device ID)of the trap 2 and/or SMT 5, and an alert code or other message that maybe processed and decoded by the notification service 7 to determine anappropriate message to send when notifying notification recipientsassociated with the trap 2/SMT 5. In an embodiment, the controller 5 acoordinates with the remote transmission module 5 b to send the alertmessage to the notification service 7. In an embodiment, the RTM 5 btransmits the alert message (using the appropriate network protocol),which is received by a remote receiver in a radio access network(included in network(s) 10), and may be further transmitted, routed,processed (step 16), and ultimately received (step 17) via thenetwork(s) 6, processed and decoded by the notification service 7.

The notification service 7 receives the alert message, processes themessage to extract the message payload (i.e., the substantive contentsof the message) (step 18), and decodes the alert message to identify thetrap 2/SMT 5 which sent the alert (step 19). The payload of the messagecontains the trap/SMT ID. The notification service 7 uses the trap/SMTID to look up or otherwise identify one or a list of notificationrecipients who should receive a notification message and thecorresponding delivery service(s) by which each recipient should benotified (e.g., text, email, voicemail, in-app notification, etc.) (step20).

The extracted payload of the message also includes a code indicating asubstantive alert condition, which may be any one of a number ofmonitored trap states and/or trap activity types, at the trap 2. In apreferred embodiment, as discussed hereinafter, the extracted payloadmay also include location information, such as current GPS coordinatesof the trap 2. The notification service 7 decodes the code (and locationinformation if available) and constructs a human readable message in theappropriate format of the delivery service(s) for each identifieddelivery service corresponding to each notification recipient (step 21).Delivery services may include such services such as a text (SMS)delivery service, an email delivery service, an in-app notificationdelivery service, a voicemail delivery service, or other type ofdelivery service that delivers content such as text, audio, video,images, app-push notifications, etc., to an end-user device. The formatof the human-understandable message will depend on the particulardelivery service. For example, an SMS delivery service requires a textmessage; an email message requires text or an attachment, a voicemaildelivery service requires an audio file containing human-understandableaudio content, an in-app notification delivery service may contain text,an image containing human-understandable message, an audio/video clip, adocument, etc. If location information is available, either directlyfrom the message itself or as information stored in the database 8 atthe time the trap 2/SMT 5 was registered with the notification service7, preferably the constructed notification message includes the locationof the trap 2.

The notification service 7 then sends the constructed notificationmessage(s) via the corresponding delivery service(s) to the notificationrecipient delivery address(es) for the identified notificationrecipient(s) associated with the identified SMT 5 (step 22).

Turning now to FIG. 4, there is shown an exemplary embodiment of anetwork environment 100 implementing a remote trap monitoring system100. System 100 is designed as a long-lasting low-power remote-accesstrap monitoring system that allows a trap 102 and SMT 105 to beinstalled in remote locations that may not have access to power and/or(reliable) WiFi for accessing the Internet 120, yet can still transmitalert messages to an Internet-connected Remote Trap MonitoringNotification Service 123. With these parameters in mind, power to theSMT 105 is therefore preferably supplied solely from a battery supply(or optionally a standalone power source such as a solar power supply),and the SMT 105 accesses the Internet 120 to communicate with theNotification Service 123 using a Low Power Wide Area Network (LPWAN). Inan embodiment, the LPWAN is a low power cellular network (for example, aCAT-M1, CAT-NB1 or EGSM-IoT enabled network).

In the environment 100 shown in FIG. 4, trap 102 is placed in alocation, along with SMT 105 and sensor(s) 4. In an embodiment, thesensor(s) 4 are integrated into the SMT 105, which is preferablyattached directly to the trap 102. In an alternative embodiment, one ormore sensor(s) 4 which the SMT 105 can remotely monitor are installedon, in or near the trap 102, in respective position(s) to accurately andappropriately monitor the state or conditions that they are intended tomonitor. For example, if one sensor is a reed switch, it must be placedin a position that will enable a magnetic field when the movable trapmember is in a closed state. As another example, if one sensor is anaccelerometer from which the state of the movable trapping member and/ora monitored activity type can be detected, the accelerometer isattached, directly or indirectly, to the trap 2. Once the trap 2, SMT105 and sensor(s) 4 are positioned and the SMT 105 is turned on andactivated through the remote trap monitoring notification service 7, theSMT 105 monitors the sensor(s) 4 for sensor information. Sensorinformation may relate to one or more trap states, such as, by way ofexample and not limitation: trap door open (movable trapping member 3 fin open state), trap door closed (movable trapping member 3 f in closedstate), trap upright, trap overturned on side/upside down/back,environmental temperature, other environmental conditions, etc. Sensorinformation may relate to one or more trap activity events, such as, byway of example and not limitation: trap door closed (movable trappingmember 3 f changed from open to closed state), trap vibration detected(indicating animal, human or environmental disturbance of trap),presence of animal in trap, size of animal in trap, type of animal intrap, precipitation (rain, sleet, snow) at trap, high wind at trap,movement of trap, etc. Movement may include vibrational movement whichcan occur when a human, animal, or environment interacts with trap 102.Movement may also include geo-locational movement which can occur whenthe trap 102 is physically moved from one location to another. Upondetection of movement, the SMT 105 may connect through a Low-PowerCellular Network 110 (shown as an LTE-M network) to the Internet, tosend an alert message to the Remote Trap Monitoring Notification Service123.

The Remote Trap Monitoring Notification Service 123 is connected to theInternet 123 by way of an Internet-enabled Notification Service server122, a computer system comprising at least one central processing unit(CPU) executing program instructions stored in local or remotecomputer-readable memory. The Remote Trap Notification Service 123 maybe a web-enabled service, which sends and receives incoming Internetcommunications via a Web Server 121.

The Notification Service server 122 passes the message to theNotification Service 123, which parses and decodes the alert message,creates a human-readable notification message that indicates the stateor activity type associated with the alert message, and sends thenotification message to the notification recipient(s) associated withthe trap 102/SMT 105 that sent the alert message via the correspondingnotification delivery services 125, 127, 129 associated with thenotification recipient(s). The notification messages are sent byInternet-enabled services, such as an email service 125, an SMS textservice 127, and an app push notification service 129. Such servicesconnect to the Internet via servers 124, 126, 128, respectively, whichroute the notification message(s) to the device(s) 109 of thenotification recipient(s) 108. The messages may be routed through theInternet to another network, such as a cellular network, a WiFi network,a LAN, etc. to reach the intended destination (i.e., an electronicdevice 109 capable of receiving the notification message(s) via thecorresponding delivery service(s).

Turning in more detail to SMT 5/105, FIG. 5 is a schematic block diagramof an exemplary embodiment 200 of SMT 105 (and/or SMT 5 in FIG. 1). Asshown in FIG. 5, SMT 200 includes a controller 201, computer memory 202which stores program instructions and data (including a unique serialnumber (SN) of the SMT 105 and/or trap 102), a cellular modem 203 whichincludes internal memory and stores an International Mobile EquipmentIdentifier (IMEI), an antenna 204, a Subscriber Identity Module (SIM)205 that stores a unique Integrated Circuit Card Identifier (ICCID),optional sensor(s) 206, and a battery supply 207 which is electricallycoupled to, and supplies power to, all the electronic components of theSMT 200.

The controller 201 may be a microprocessor, a computer processing unit(CPU), a microcontroller unit (MCU), or custom application specificintegrated circuit (ASIC), or other integrated circuit (IC), ornon-integrated circuitry, that is electrically coupled to (directly orindirectly), or has embedded therein, computer memory 202.

Computer memory 202 comprises computer readable storage media,preferably in the form of one or more, or any combination, ofProgrammable Read-Only Memory (PROM, EPROM, EEPROM, flash EPROM), and/orRandom Access Memory (RAM, DRAM, SRAM, SDRAM, etc.). Computer memory 202stores program instructions executable by the controller 201 to performone or more operative steps for implementing various aspects of theinvention. The computer memory 202 further stores data which may be usedby the controller 201 in its operations. The computer memory 202 may beintegrated or embedded within the integrated circuit (IC) implementingthe controller 201 or may be standalone memory IC(s) electricallycoupled to the controller via one or more busses.

The cellular modem 203 is electronic circuitry typically fabricated inthe form of an integrated circuit (IC) that contains the hardware andcontrol functions for implementing the RF communication (the “cellularchip”). In particular, a typical cellular modem 203 contains acontroller/CPU, integrated computer memory, signal encoding/decodingcircuitry, a power amplifier, and a baseband processor which includesmultiplexing/demultipexing, channel selection, carrier generation, andmodulation circuitry. In an embodiment, the cellular modem 203 isresponsive to telephone Attention (AT) commands for controlling themodem, and converts digital messages into RF transmission signalsuitable for the network on which it is transmitted. For example, wherethe cellular modem 203 is implemented to connect to a Long TermEvolution enhanced Machine Type Communication (LTE-eMTC, or “LTE-M”,GGPP Release 13 and 14) cellular network, the cellular modem 203 isconfigured to transmit signals on the antenna 204 according to an LTE-Mor LTE-NB-IoT protocol. Where the cellular modem 203 is implemented toconnect to a Global System for Mobile Communications (GSM) network, thecellular modem 203 may be configured to transmit signals on the antenna204 according to an Extended Coverage GSM Internet of Things(EC-GSM-IoT) protocol. The cellular modem 203 is further configured toreceive RF signals carrying messages from the Notification Service 107(FIG. 3) and to convert the received signals into a digital formatrecognizable by the controller 201.

Optional sensor(s) 206 may comprise any sensor that can be used todetect activity and information related to the trap, an animal in thetrap, and/or environmental conditions at the trap 2. For example, in anembodiment, sensor(s) 206 may comprise one or more movement detectionsensors 206 a that detect movement and/or vibration and generates atleast one output signal based on detected movement/vibration. In anembodiment, the movement detection sensor 206 a generates, on at leastone output port (such as one or more wires, pins or pads), an outputsignal representative of a detected movement. In an embodiment, themovement detection sensor 206 a is implemented using an electronicaccelerometer, which measures acceleration and direction of accelerationin response to movement or vibration. Alternatively, the movementdetection sensor 206 a could comprise a GPS module (not shown) whichreceives positioning signals from a Global Positioning System andcompares present location to recent past location to detect whether theSMT 200 has moved from its previous location. Where the sensor 206 aincludes a GPS module, the computer memory 202 may store initial and/orpresent location information, and further may store one or moreadditional location information acquired by the GPS module over a periodof time. In an embodiment, the output signal of the sensor 206 a may bea signal between two voltage rail values (e.g., for purposes of exampleonly and not limitation a low rail value of 0V and a high rail value of1.8-3.3 V) and the voltage level of the output signal is representativeof the magnitude of acceleration/vibration. Additional signals mayinclude the direction of acceleration. In an alternative embodiment, theoutput signal of the movement detection device 206 a is a binary signalwhich is mapped in a first state (either low or high voltage) when nomovement/acceleration is detected or when detected movement/accelerationis (at or) below a trigger threshold, and in a second state (voltagelevel being the opposite of the first state) when detectedmovement/acceleration is (at or) above the trigger (or a second trigger)threshold. If the sensor 206 a is a GPS module, the signal may carryinformation including the GPS coordinates of the sensor 206 a.

In an embodiment, the sensor(s) 206 comprise a trap door state detectionsensor 206 b, such as a reed switch, which operates as discussedpreviously.

In other embodiments, the sensor(s) 206 may include additional ordifferent types of trap state, trap activity and environmental sensors,which may include without limitation a temperature sensor, a humiditysensor, an optical sensor, a sound sensor, a PIR sensor, a camera, aflex sensor, a movement sensor, a range sensor, a pressure sensor, acapacitive load sensor, etc.

Structurally, the controller 201 is electrically coupled to thesensor(s) 206 and the cellular modem 203. In an embodiment, thecontroller 201 is a microprocessor or microcontroller capable ofreceiving interrupt signals and processing interrupt service routines.In such embodiment, the controller 201 is coupled, directly orindirectly, to receive and process one or more signal(s) generated bythe sensor(s) 206 and executes hardware logic or program instructionsbased on the received sensor signal(s). For example, in the case wherethe movement detection sensor 206 a is an accelerometer which detectsmovement/acceleration at or above a predetermined threshold level, theaccelerometer generates one or more output signal(s) indicating thecondition. In an embodiment, the controller 201 comprises amicroprocessor that is capable of processing an interrupt received on aninterrupt input port (e.g, a pin or pad of the microprocessor). Theaccelerometer 206 a generates a signal indicative of a level of sensedmovement/vibration on an output port of the accelerometer 206 a. Theoutput port of the accelerometer 206 a is electrically coupled (directlyor indirectly) to an interrupt input port of the controller 201, and thesignal present on the output port of the accelerometer 206 a serves asan interrupt signal to the controller. When the output signal of theaccelerometer 206 indicates that it is in a triggered state (indicatingthat the accelerometer has sensed movement/vibration/acceleration (ator) above a threshold magnitude), it outputs a signal level or valueindicating the threshold has been met, which generates an interrupt atthe controller 201. When the controller 201 receives the interrupt fromthe accelerometer 206 a, it executes an interrupt service routine toperform several actions. In particular, the controller 201 may formulatean alert message and send commands to the cellular modem 203 to transmitthe alert message indicating the presence of movement activity at thetrap 2.

As another example, in the case where the trap door state detectionsensor 206 b is a reed switch, the reed switch generates an outputsignal indicating the state of the trap door (i.e., the movable trappingmember 3 f. In particular, an output port of the reed switch has a firstvoltage level if the reed switch is in an open state, and has a secondvoltage level if the reed switch is in a closed state. The output portof the reed switch 206 b may be electrically coupled (directly orindirectly) to an interrupt input port of the controller 201, therebyeffecting the state of the reed switch as an interrupt signal to thecontroller. When the controller receives the interrupt from the reedswitch 206 b, it executes an interrupt service routine to performseveral actions.

In particular, the controller 201 may formulate an alert message andsend commands to the cellular modem 203 to transmit the alert messageindicating the state of the trap door (i.e., the movable trapping member3 f).

The cellular modem 203 adheres to a predetermined transmission protocolstack, as predefined based on the protocol used for communicating withthe cellular service to which the SMT 105 subscribes. As is requiredgenerally for cellular modems that need to deliver messages from amobile device through a cellular network to a packet data network (e.g.,the Internet), the cellular modem 203 includes circuitry and programmingto encode an alert message generated by the controller 201, encapsulatethe encoded message into one or more packets, and perform the signalprocessing required to adhere to the data transmission scheme(s)recognized and used by the cellular network 110 for data uplink (fromSMT 105 to cellular network) and data downlink (from cellular network toSMT 105). For example, in an LTE-M enabled cellular network, thecellular modem preferably is capable of packetizing data in accordancewith TCP/IP or UDP protocol, and includes hardware that transmits packetdata according to a Single-Carrier Frequency Division Multiple Access(SC-FDMA), 15 KHz tone spacing, Turbo Code, 16 Quadrature AmplitudeModulation (QAM) modulation scheme, and receives data based onOrthogonal Frequency Division Multiple Access (OFDMA), 15 KHz tonespacing, Turbo Code, 16 QAM modulation scheme. Other types of cellularnetworks use different modulation schemes implemented in accordance withthe standards promulgated by worldwide organizations such as 3^(rd)Generation Partnership Project (3GPP), Institute of Electrical andElectronics Engineers (IEEE), and Global System for MobileCommunications (GSMA), and may alternatively be used as the gatewayconnection to a packet-switched data network (such as the Internet) forsubsequent transmission of alert messages to the Notification Service107.

As described previously, due to the design parameters for the SMT 105having a stand-alone power supply 207, the SMT 105 is preferablyimplemented using ultra-low-power components. By way of example and notlimitation, in an embodiment, the controller 201 comprises anultra-low-power microcontroller unit (MCU) with integrated flash memoryand an integrated EEPROM such as an STMicroeletronics STM8L151C8 IC,which consumes 200 uA in normal operating mode and less than 6 uA whenplaced in a low power mode.

Further, in an embodiment and by way of example and not limitation, thecellular modem 203 is implemented using a Quectel LPWA Module BG96,manufactured by Quectel Wireless Solutions Co., Ltd., headquartered inShanghai, China. The Quectel BG96 Cat.M1/NB1 & EGPRS Module can transmitaccording to CAT-M1 or CAT-NB1 (NB IoT) protocols over existingLTE/Extended GPRS (EGPRS) networks, consuming only 10 uA in PSM mode and190 mA when transmitting at 23 dBm. The Quectel BG96 is programmed touse CAT-M1 protocol when connecting to an LTE-M cellular network, and isprogrammed to use CAT-NB1 protocol when connecting to an NB-IoT enabledcellular network.

Further in an embodiment and by way of example and not limitation, themovement detection sensor 206 is preferably an ultra-low-power devicesuch as Micro-Electro-Mechanical Systems (MEMS) accelerometer or MEMSmicrophone that is implemented using microfabricated miniaturizedelectro-mechanical elements (on the order of micro, femto andnano-meters) and which by design consume very low power. In anembodiment, the movement detection device 206 is implemented using aSTMicroelectronics LIS2DE12, which is a 3-axis MEMS accelerometercharacterized by ultra-low-power consumption down to 2 uA, and allowsfor programmable sensitivity. An accelerometer may be used as a movementdetection device 206 by measuring the acceleration of multiple movingmicro-parts, such as a diaphragm or other anchored movablemicro-objects. The LIS2DE12 MEMS accelerometer is fabricated usingmicromachined silicon structures that are anchored at a few points andare free to move in the direction of acceleration. Sensing element(s)within the LIS2DE12 sense displacement of the silicon structures fromtheir nominal positions resulting in a change in capacitance thereof andcan be measured using charge integration in response to a voltage pulseapplied to the capacitor structure. When an acceleration is applied tothe sensor, the silicon structures displace from their nominalpositions, which can be measured using a capacitive half-bridge. Thechange in capacitance is measured using charge integration in responseto a voltage pulse applied to the capacitor. At steady state the nominalvalue of each of the capacitors is a few pF and when an acceleration isapplied, the maximum variation of the capacitive load is in the fFrange. The LIS2DE12 MEMs accelerometer can be programmed to generate aninterrupt upon detection of different levels of acceleration (measuredin g's). The LIS2DE12 provides full scales of ±2 g/±4 g/±8 g/±16 g andis capable of measuring accelerations with output data rates from 1 Hzto 5.3 kHz.

The movement detection device 206 may alternatively be implemented usinga GPS module, described previously.

In an embodiment, the trap door state detection sensor 206 b is a reedswitch and is implemented using a CT10-1030-G1 manufactured by CotoTechnology, and is configured in a normally open configuration toprevent battery drain when the trap door is open.

Further to the requirements of a limited battery power supply, the SMT200 preferably implements several power conservation techniques,including employing a controller 201 and a cellular modem 203 that caneach be placed in a Power Saving Mode (PSM) state, whereby features ofthe controller 201 and cellular modem 203 which draw higher power areshut down and/or placed in a sleep mode when the respective devices areplaced in the PSM state. For example, the cellular modem 203 turns offpower to the antenna 204 when in the PSM state. The selection of thecellular modem 203 must of course consider the network over which alertmessages are to be transmitted to ensure that the cellular modem 203 iscapable of transmitting according to the protocol required by theselected network. To conserve battery power, in a preferred embodimentthe SMT 200 is implemented to communicate using a low-power signal overa LPWAN such as an LTE-CATM1, NB-IoT, or EC-GSM-IoT network, whichspecifies a transmission signal strength of 23 dBm.

The controller 201 may include several integrated devices;alternatively, peripheral devices can be connected to controller 201.For example, the controller 201 may have a clock (not shown) that iseither integrated into the controller 201 itself or that is connected tocontroller via external pins. The clock may be used to send wakeupcommands to controller when in PSM mode. In an embodiment, the SMT 105may be wakened from PSM mode if a predefined amount of time passesbetween times connecting to the subscriber network 10 (this activity iscalled the “heartbeat” of the SMT). The wakeup commands can causecontroller exit a power saving or sleep mode to perform periodicdiagnostics or perform other functions. In an embodiment, the SMT 200may be wakened from PSM mode if a predefined amount of time passesbetween times connecting to the subscriber network 10 (this activity iscalled the “heartbeat” of the SMT 200).

In a preferred embodiment, SMT 200 includes a battery supply 207 such aslithium iron disulfide or alkaline for non-rechargeable batteries, ornickel metal hydride or lithium polymer batteries for rechargeablebatteries. In an embodiment, the SMT 200 may include an externalcharging system (not shown) to recharge the battery supply 207, such asan external power supply, a renewable energy source such as a solarcell, etc.

FIG. 6 is a flowchart illustrating an exemplary operation 210 of the SMT105. As shown, in operation, when the SMT 105 is powered on, for exampleby turning on a power switch 208, the controller 201 and cellular modem203 both perform an initialization (steps 211 and 231). Once thecontroller 201 is initialized, it waits for the modem to be ready (step212). In an embodiment, the controller 201 monitors the Ready status(typically the output state of a pin on the cellular modem chip) of thecellular modem 203. At first power up of the cellular modem 203, thecellular modem 203 performs an initialization (step 231), and enablesthe antenna 204 for signal transmission and/or reception (step 232). Inan embodiment, once initialized, the modem is “ready”, and signals thisstatus by enabling the Ready pin on the modem. Once the cellular modem203 is ready to transmit and/or receive, the controller 203 obtains thedevice identifier (step 213). In an embodiment, the device identifiercomprises the serial number of the SMT 105. In alternate embodiments,the device ID may comprise alternative and/or additional identificationinformation, such as but not limited to the ICCID, and the IMEI of theSMT 105 (or components thereof). In an embodiment, the ICCID isintegrated into the SIM 205, and the controller 203 instructs thecellular modem 203 to access the SIM 205 to obtain the ICCID of the SIM205 (step 213 a). In an embodiment, the IMEI is programmed into anElectrically-Erasable Programmable Read-Only Memory (EEPROM) embedded inthe cellular modem 203, and the controller 203 issues a command to thecellular modem 203 to obtain it (step 213 a). In an embodiment, themanufacturer of the SMT 200 issues a unique serial number for each SMTat the time of manufacture, and stores it in a Programmable Read-OnlyMemory (PROM) or other memory 202, accessible and accessed by thecontroller 201 (step 213 b).

Once the device ID is obtained, the controller 201 then instructs thecellular modem 203 to connect to the subscriber cellular network 110(FIG. 3) (step 214). The cellular modem 203 is programmed to recognizevarious AT commands, which are commands to control communication usingthe modem 203. In an embodiment, the cellular modem 203 is configuredwith an embedded TCP/IP protocol stack, and the AT commands aretranslated into messages/responses, encapsulated into TCP/IP packets andtransported over the cellular network 110 according to TCP/IP protocol.In an embodiment, the controller 201 instructs the cellular modem 203 toconnect to the subscriber cellular network 110 by (1) configuring aPacket Data Protocol (PDP) Context with the network Access Point Name(APN), the subscriber name, password and authorization type (step 214a), (2) configuring the Quality of Service (QoS) settings (step 214 b),(3) activating the PDP Context (step 214 c), (4) querying the networkfor the IP address of the PDP context (step 214 d), and (5) opening theconnection (step 214 e). Once the connection is open, the SMT 5 is ableto send and/or receive requests, commands, responses and data (step 215)to/from the Notification Service 107. In an embodiment, the send/receivestep 215 may include sending device status, alerts relating to receivedsensor information, location information, and communicationacknowledgements to the Notification Service 107, and receivingcommunication acknowledgements, messages, or settings or firmwareupdates from the Notification Service 107.

In order to conserve power, the controller 201 is programmed to executesequences of communication handshakes that comprise a series of requests(which may contain commands) and corresponding responses and/oracknowledgements for accomplishing sending messages to the cellularnetwork service (such as a connect request to access the cellularnetwork), sending messages to the Notification Service 107 (such assending a sound detection alert message), and receiving one or moremessages or data (such as handshake and application acknowledgements,device settings and updates, and firmware updates). These sequences areprogrammed into the program memory 202 used to instruct the actions ofthe controller. FIGS. 14-19 illustrate several example communicationsequences, discussed hereinafter. The programming of the controller 201according to predefined communication sequences enables a power savingmode technique, namely providing a way for the controller 201 torecognize that a communication sequence is complete, the completion ofwhich is used by the controller 201 as a trigger to place the cellularmodem 203 and itself into a Power Saving Mode (PSM) (step 216). In PSM,each of the controller 201 and cellular modem 203 turn off, or place ina low-power state, the features of their respective device that requirehigher power for operation. For example, the cellular modem 203 maydisable the power to the antenna 204 (step 235) and then enter PSM (step236) so that battery supply power is not consumed powering the antennaduring periods when the controller 201 knows, by way of the programmedcommunication sequences, that it is not sending a message to, orexpecting a message from, the network or notification service. Forexample, once the controller 201 completes a communication sequence(step 215) and instructs the cellular modem 203 and itself to enter PSM(step 216), it enters a very low power mode while awaiting an interruptfrom any of the sensor(s) 206.

When an alert condition is sensed by any of the sensor(s) 206 a, 206 b,that sensor 206 a, 206 b generates a signal on its output port, which iscoupled to an interrupt port on the controller 201, to interrupt thecontroller 201. When the controller 201 receives an interrupt, it exitsfrom PSM (step 217) and processes information from the sensor(s) thatgenerated the interrupt (step 218). In an embodiment, the controller 201sends an alert message each time the controller is interrupted by asensor, moving directly to step 221. In this embodiment, steps 219 and220 are not implemented. In an alternative embodiment, the controllermay first determine whether or not to send an alert message to theNotification Service (step 219). An example reason that the controller201 may determine not to send an alert message may be that the SMT 105has been placed in “Pause” mode, which is discussed in more detailhereinafter. If the controller 201 determines that it should not send analert message (step 220), after processing the sensor information, thecontroller returns to PSM (step 216). Whether sending an alert messageby default (i.e., not implementing steps 219 and 220) or bydetermination through additional processing (i.e., implementing steps219 and 220), the controller 201 generates an alert message (step 221)and wakes up the cellular modem 203 (step 222). The controller 201 thenexecutes a communication sequence appropriate to the particular messageto be sent (step 215), executing a series of AT commands in cooperationwith the cellular modem, in order to notify the Notification Service ofthe alert event. At the end of the communication sequence, thecontroller 201 then causes the SMT 200 and cellular modem to enter PSMonce again (step 216).

When instructed to exit from PSM, the cellular modem 203 exits PSM (step237) and enables its antenna (step 238). The cellular modem 203 thenawaits AT commands from the controller 201 (step 233) and processes ATcommands (step 234) in normal operating mode. During a Command Sequence(or at other times), the cellular modem may also receive commands,status and data from the notification service, which it passes to theSMT controller 201 for processing.

Returning to FIG. 4, in a preferred embodiment, the cellular network 110is a Low Power Wide Area Network (LPWAN) transmission module thatsupports low-complexity, deep-coverage devices. By way of example andnot limitation, exemplary LPWANs include LTE-M (including CAT-M1),NB-IOT and EC-GSM-IOT cellular networks. In an embodiment, the cellularnetwork 110 is an LTE-M cellular network implemented in accordance withthe Third Generation Partnership Project (3GPP) standards-based LPWANtechnology, LTE-M (also known as LTE CAT-M1), which has a maximumchannel bandwidth of 1.4 MHz, a maximum data rate of 1 Mbit/s, andoperates in either full or half duplex mode (i.e., can transmit andreceive simultaneously in full duplex mode, or can only transmit orreceive at any given time in half duplex mode). In an alternativeembodiment, the low power wide area network (LPWAN) could be implementedaccording to the Third Generation Partnership Project (3GPP)standards-based LPWAN technology, NB-IoT (also known as CAT-NB1 orCAT-M2), which has a maximum channel bandwidth of 180 kHz, a maximumdata rate of 250 Kbit/s, and operates only in a half duplex mode. Inanother alternative implementation, the cellular network could beimplemented according to the Global System for Mobile CommunicationsAssociation (GSMA) standards-based LPWAN technology known as ExtendedCoverage Global System for Mobile (EC-GSM), (also called EC-GSM-IOT),which also operates in the licensed spectrum (on the 900 MHz and 1.8 GHzfrequency bands) and implements EC-GSM protocols utilizing the existingGSM networks and GSM cellular to Internet infrastructure.

Some of the specification for each of the LTE CAT-M1, CAT-NB1 andEC-GSM-IoT standards are given in TABLE 1, illustrating that each typeof network requires different hardware (to transmit on differentfrequencies, with different bandwidth, data rates and modulationschemes, and to achieve perform different variations of duplexing andpower saving modes). The particular type of cellular network that may beused for transmission of an alert message between a given SMT 5 and theNotification Service 7 may depend on various factors, includingavailability of a given type of cellular network in the geographicalregion where the SMT is installed, whether the SMT is authorized toaccess an available cellular network, how much data and how quickly suchdata needs to be transmitted to the Notification Service, etc.

TABLE 1 CAT-M1 NBIoT EC-GSM-IoT Deployment LTE LTE GSM Coverage 155.7 dB164 dB 164 db, with 33 dBm power class, 154 dB with 23 dBm power classDownlink OFDMA, OFDMA TDMA/FDMA, 15 KHz tone 15 KHz tone GMSK and 8PSK,spacing spacing 1Rx 1Rx Turbo Code 16 QAM 1Rx Uplink SC-FDMA SCFDMATDMA/FDMA, 15 KHz tone 15 KHz tone GMSK and 8PSK spacing spacing(optional) Turbo code, Turbo code 16 QAM Bandwidth 1.08 MHz 180 KHz 200kHz per channel, typical system bandwidth of 2.4 MHz Peak rate DL andUL: DL: 50 kbps DL and UL: 70 (DL/UL) 1 Mbps UL: 50 Kbps kbps (GMSK) formulti-tone, using 4 20 Kpbs for timeslots single tone Duplexing FD & HDHD (type B), HD, FDD (type B), FDD FDD & TDD Power PSM, ext. PSM, extPSM, ext. I- saving I-DRX, C-DRX I-DRX, C-DRX DRX Power 23 dBm 23 dBm 33dBm class 20 dBm 23 dBm

It is to be noted that commercial networks implemented in accordancewith any of the LTE CAT-M1, CAT-NB1 and EC-GSM-IoT standards operate inthe licensed spectrum of the radio-frequency spectrum (meaning that thefrequency bands on which they operate are regulated by governmentalregulatory bodies). Operation within the licensed spectrum requiresoperators to obtain a license or permit from a regulatory authority andto adhere to a set of technical, operational and behavioral rules,having the effect of potentially offering a higher quality of service(QOS) for delivery of communications between the SMT 5 and thenotification service 7 than may otherwise be obtained using networksoperating in the unlicensed spectrum. It may therefore be advantageousto use such an available cellular network to communicate SMT alertmessages from the SMT 5 to the Notification Service 7. However, it is tobe understood that in other embodiments, it may be suitable oradvantageous to use a LPWA network operating in an unlicensed frequencyband of the radiofrequency spectrum. Examples of such networks mayinclude, but are not limited to, LoRa, SigFox, etc. Furthermore, while apreferred embodiment of the SMT is battery powered and therefore toconserve power connects to the Notification Service via a LPWAN, inalternative embodiments where power consumption is not at issue for theSMT, the SMT may be implemented using a transmission module that allowsit to transmit its alert messages via any wireless or wired network(including, but not limited to, LPWANs, LANs, WANs, WiFi Access Points,etc.) using an appropriate corresponding transmission protocol. Forexample, if the SMT is not positioned in a remote location and hasaccess to a W-Fi Access Point, the SMT could be configured to include aWiFi transmission module and to send its alert messages to theNotification Service by connecting to the Internet via a local WiFiAccess Point. Similarly, if WiFi is not available but a cellular service(that is not an LPWAN) is available, the SMT 5 could includetransmission module that can communicate with the available cellularservice (which may not be an LPWAN) and could then transmit its alertmessages via that cellular service.

In a preferred embodiment shown in FIG. 4, the LPWAN implements the 3GPPLTE-M (CAT-M1) specification and protocol, which support devicescharacterized by low power transmission (max transmit power of 23 dBm),provides a low maximum system bandwidth (1.4 MHz), and allows arelatively low maximum peak data rate (1 Mbps). In this embodiment, theSMT 105 is configured to transmit alert messages over a radio accessnetwork (RAN) 118 that supports low power wide area networktechnologies. In the embodiment shown in FIG. 4, the radio accessnetwork 118 is a cellular LTE-M network operating in the licensed (i.e.,regulated) spectrum. The LTE-M network operates over the same (or subsetthereof) frequency bands as LTE) and implements 3GPP LTE-Mspecifications and protocols utilizing the existing LTE cellularinfrastructure. The RAN 118 in the LTE cellular network includes what isreferred to as the Evolved Universal Mobile Telecommunications System(E-UMTS) Terrestrial Radio Access Network (E-UTRAN), and a core all-IPnetwork 119 referred to as the Evolved Packet Core (EPC). The E-UTRANincludes a network of cellular sites 111 (shown as 111 a, 111 b)providing areas of network coverage arranged in geographical “cells”across areas of Earth. Each cellular site includes at least one antennamounted on a cell tower, which is designed to transmit and/or receivesignals on a designated LTE-M frequency band. Within a given cell,transmitted signals adhere to minimum signal strength specifications soas to cover at least the entire area of the geographical cell. Inpractice, each cellular tower has multiple antennas sending andreceiving over multiple LTE/LTE-M frequency bands, and each antenna istuned to receive and/or transmit signals on various frequencies and indifferent directions. Each antenna is connected by wire or fiber opticcable to a base station (which in the LTE/LTE-M RAN is referred to as anEvolved Node B, eNodeB, or eNB). The base station, or eNB, is theprimary interface for connecting subscribing user equipment devices(UEs) to other devices and services serviced by the particular LTE/LTE-Mnetwork service provider (often called the “carrier”, such as commercialproviders Verizon, AT&T, etc.). The base station is also the primaryinterface for connecting subscribing devices via networks of otherproviders (such as routing calls to UEs who subscribe to a differentcarrier than the sending UE, and to devices, machines and services onother networks (such as other RANs, packet switched and packet datanetworks). The eNB manages the radio interface between user equipment(UE) devices (such as mobile and/or remote LTE and LTE-M enableddevices) and the core network (referred to as the Evolved Packet Core(EPC)) which connects and routes messages between remote UEs subscribingto the LTE/LTE-M cellular network and UEs and other devices on networksof other carriers or packet data networks such as the Internet.

Referring again to FIG. 4, the radio access network (RAN) 118 providesconnection between LTE-enabled devices and the core network 119. Thecore network 119, or EPC, is an all-IP (Internet Protocol) network thatmanages the interconnection of calls and data flow between devicesconnected to the RAN 118, to one another and to other networks 130and/or packet data networks (PDNs) 120 and resources connected to thecore network 119. The core network 119 forms the central control of thecellular network 110. Among other functions, the core network 119manages authentication of user equipment (UE) (such as SMT 105 and otherUE such as cellular enabled mobile devices) requesting access to thecellular network 110, voice/data call and messagecontrol/switching/routing, allocating resources to meet subscriberquality of service levels, and setting up data traffic tunnels (known asbearers) between authenticated UEs to packet data network (PDN) gateways115 for transfer of user traffic between the UEs and PDNs (such as theInternet 120).

In the LTE-M network, the core network (EPC) 119 includes a MobilityManagement Entity (MME) 112, a Home Subscriber Server (HSS) 113, aServing Gateway (S-GW) 114, a Packet Data Network Gateway (P-GW) 115.The MME 112 operates as the main control entity for the LTE radio accessnetwork (E-UTRAN) (which, in an LTE/LTE-M network, implements the RAN118). The MME 112, with the assistance of a UE-connecting eNB 111, and aHome Subscriber Server (HSS) 113 that hosts network subscriberinformation, manages authentication of devices requesting access to thenetwork 110. The MME 112 also manages control plane (Non-Access Stratum(NAS)) signaling, including mobility management, session management, andsetup of tunnels, or “bearers” that carry user plane traffic. The MME112 communicates with eNBs 111 a, 111 b, (and others not shown) in theradio access network 118 via the LTE S1-MME interface, while eNBscommunicate with UEs via the LTE-Uu interface. When a UE requests accessto the network, the eNB with greatest signal strength (usually the eNBnearest the requesting UE), along with both the UE and the MME servingthe eNB, coordinate with each other to perform mutual authentication. InLTE networks, both LTE-enabled UEs and the LTE network follow well-knownpre-defined LTE authentication protocols to ensure, from the UE's pointof view, that the UE is accessing the network it thinks it is accessingand, from the network's point of view, that the UE has authorization toaccess the network and is who the UE says it is. The communicationinterfaces and protocols for LTE-M, including among others the LTE-UU,LTE-S1, LTE-S5 and SGi interfaces, are specified and published by 3GPP,available at www.3gpp.org.

When trap 102 (and more specifically, its SMT 105) is authenticated, theMME 112 sets up an IP connection (or “session”) between the SMT 105 anda particular Packet Data Network (PDN) through which the NotificationService 107 is accessible. Profile information associated with theauthenticated trap 102/SMT 105 is accessible through the Home SubscriberServer 113 (and/or a Profile Repository (not shown)), which storesdefault PDN IP address associated with the trap 102/SMT 105. The trap102/SMT 105 can also specify a specific IP address during the accessrequest. The MME 112 determines the IP address of the PDN of the trap102/SMT 105 requesting connection, using the default IP address from thetrap 102/SMT 105 profile information or from trap 102/SMT 105 requestinformation. The trap 102/SMT 105 can have either a static IP address ormay be dynamically assigned an IP address using standard Dynamic HostConfiguration Protocol (DHCP) or other dynamic IP address allocationprotocols. The session identifies the connection endpoint IP addresses,namely the IP address of the trap 102/SMT 105 and the IP address of thePDN (also called the Access Point Name (APN)) through which the trap102/SMT 105 wishes to connect (presumably to use services).

In conjunction with setting up the session, the MME 112 also sets up adefault Evolved Packet System (EPS) bearer, which is a tunnel throughwhich IP packets are transferred through the LTE network 110 between thetrap 102/SMT 105 and a PDN gateway (P-GW) that serves the destinationPDN. With reference to FIG. 7, the default EPS bearer requires settingup of three different bearers due to the different communicationinterfaces between equipment located between the trap 102/SMT 105 (UE)and P-GW (including the eNB, the S-GW and the P-GW). In the UE-to-P-GWdirection, data flows from the UE to an eNB 111 via a data radio bearer(DRB) using the LTE-Uu interface, then from the eNB to the S-GW via theS1 interface, then from the serving gateway (S-GW) to the PDN Gateway(P-GW) using the LTE S5 interface. Accordingly three different bearersare set up to accommodate the different interfaces, which include a DRB(i.e., data tunnel) to deliver user data traffic between the UE and eNBusing the LTE-Uu interface, an S1 bearer to deliver user data trafficbetween the eNB and S-GW, and an S5 bearer to deliver user data trafficbetween the S-GW and P-GW. The MME coordinates with the eNB, the S-GWand P-GW to set up these bearers.

FIG. 4 details a small few cellular sites (eNBs) 111 a, . . . , 111 b, asingle MME 112, S-GW 114 and P-GW 115, for the purposes of simplicity ofillustration and explanation and not by way of limitation. It is to beunderstood that in practice, commercial LTE/LTE-M networks comprise manycellular sites 111, which may connect to several different MMEs, whichare each connected to several S-GWs and P-GWs, serving differentgeographical locations of the overall cellular network. In anembodiment, the cellular network service provider through which SMTsgain access to the cellular network for subsequent transmission andreceipt of messages over the Internet to and from the NotificationService is a 3^(rd)-party commercial cellular network service providerthat supports LTE-M, such as, by way of example only and not limitation,Verizon or AT&T.

LTE/LTE-M networks are all-IP networks, meaning that all user traffic isdelivered by way of Internet Protocol (IP) packets. When an LTE-enabledUE, such as trap 102/SMT 105 connects to the network, it is assigned anIP address, a session is set up, and data traffic bearers are set upbetween the UE device and a PDN gateway P-GW. The IP address assigned tothe trap 102/SMT 105 remains valid and the bearers remain connecteduntil the device is detached from the network. That is, the sessionremains valid until the trap 102/SMT 105 is detached from the network.In the network system of FIG. 4, since the LTE-M network is an all-IPnetwork, the SMT 105 uses the IP protocol for sending alert messages tothe notification system 123. In particular, the SMT 105 encodes an alertmessage (called the message payload) and formulates it into at least oneIP packet containing an IP header and the message payload.

FIG. 8A illustrates an example format of a message payload for purposesof illustration and not limitation. As illustrated, the message payloadcomprises one or more bytes 30 of bits 31. Groupings of the bits 31correspond to encoded information. For example, one group 32 of bits 31corresponds to encoded SMT identification (ID) information that uniquelyidentifies the SMT 105 to the Notification Service 123. In anembodiment, the ID group 32 comprises the serial number (SN) or anencoded version of the serial number of the SMT 105 or trap 102. It mayfurther include or alternatively include additional device informationsuch as the International Mobile Equipment Identifier (IMEI) and/or theIntegrated Circuit Card Identifier (ICCID) of the SIM card or hardwareembedded in the SMT 105.

Another group 33 of bits 31 corresponds to encoded alert information,which comprises a plurality of bits having values that may be encoded torepresent one or more event(s) corresponding to one or more respectivemonitored event occurrences at the SMT 105 (or trap 102). For example,by way of illustration and not limitation, the Alert group 33 mayinclude a bit S1 corresponding to a first sensor monitoring theoccurrence of a first event, a second bit S2 corresponding to a secondsensor monitoring the occurrence of a second event, and so on,monitoring up to n events. As a non-limiting example, the alert group 33may comprise one or more individual bits corresponding to detectedevents including, without limitation: a Trap Door Closed event, a TrapMovement event, and a Low Battery event. The alert group 33 may comprisedifferent and/or additional bits to represent various other detectedevents and/or change in states(s) of additional monitored conditions. Ina more further detailed example, and with reference to FIG. 8A, bit S1may represent the state of the occurrence of a “Trap Door Closed” event,which when true (for example, set to a predefined value such as “1”),indicates that the movable trapping member 3 f of the monitored trap 102has changed to the closed state. Further in the more detailed example,the bit S2 may represent the state of the occurrence of a “TrapMovement” event detected at the trap 102/SMT 105. Other bits mayrepresent the occurrence of other events monitored by additionalsensors. Furthermore, the Alert group 33 may include dedicated bitscorresponding to location information related to the movement, such asbut not limited to current GPS coordinates, most recent prior GPScoordinates, GPS coordinates of initial location of the trap 102, etc.

In the message payload 30, another group 34 of bits 31 corresponds toencoded status information. For example, a bit B may represent the stateof a battery low condition, while a bit T may represent an alert triggerstate indicating whether or not an alert condition was detected by oneor more sensors. Further in the message payload 30, a group 35 of bits31 may correspond to encoded control information. In the illustrativeembodiment, control bits may be used to hold the connection open betweenthe SMT 300 and the Notification Service 123 in order to perform certainmaintenance actions or actions that require 2-way cooperation withand/or acknowledgement between the SMT 300 and Notification Service 123.For example, again by way of illustration and not limitation, theControl group 34 may comprise a bit R which indicates to theNotification Service that the SMT 300 has been reset. The Control group34 may further comprise a bit F indicating that the device has beenformatted or updated with new firmware.

FIG. 8B illustrates the format of an IP packet 36 transmitted from theSMT 105 of a trap 102 to the nearest eNB 111. As illustrated in FIG. 8B,the IP packet 36 includes an IP header 37 and the message payload 30.the IP header 37 includes a destination IP address 38 and a source IPaddress 39, where the destination IP address 38 is the IP address of theInternet-enabled Remote Trap Monitoring Notification Service 123 and thesource IP address 39 is the IP address of the SMT 105. Using the LTE-Uuinterface, the cellular modem of the SMT 105 transmits each IP packet tothe nearest eNB 111 a via the DRB bearer set up for that particular SMT105. With reference to FIG. 8C, the receiving eNB 111 a receives each IPpacket 36 and encapsulates each received IP packet with an S1 interfaceGeneral Packet Radio System (GPRS) Tunneling Protocol (S1 GTP) header 41to formulate an S1 GTP IP packet 40. The S1 GTP header 41 includes atleast the destination IP address 42 of the destination Serving Gateway(S-GW) 114, the source IP address 43 as the IP address of the sendingeNB, and an S1 Tunnel Endpoint Identifier (S1 TEID)) 44. The eNB thentransfers the S1 GTP IP packet(s) 40 to a Serving Gateway (S-GW) via theS1 bearer via the S1 interface. With reference to FIG. 8D, thedestination Serving Gateway (S-GW) 114 strips the S1 GTP header 41 fromeach S1 GTP IP packet 40 and encapsulates the stripped IP packet 36 intoan S5 GTP IP packet 50, including an S5 interface GTP (S5 GTP) header51. The S5 GTP header 51 includes at least the destination IP address 52of the destination Packet Data Network Gateway (P-GW) 115, the source IPaddress 53 as the IP address of the S-GW 114, and an S5 Tunnel EndpointIdentifier (S5 TEID)) 55. The S-GW 114 then transfers the S5 GTP IPpacket(s) 50 to the appropriate PDN Gateway (P-GW) 115 via the S5bearer. The receiving P-GW 115 strips the S5 GTP header 51 from eachpacket 50 to extract the encapsulated IP packet 36 (FIG. 8E) andtransfers the packet(s) onto the Internet 120 PDN via an SGi interface.Once the IP packet is on the Internet, it is routed to the destinationIP address 38 of the Remote Trap Monitoring Notification Service 123through conventional IP and/or Ethernet routing using TCP/IP and DHCP.

Referring again to FIG. 4, the Remote Trap Monitoring NotificationService 123 is connected to the Internet 120 and is responsive torequests addressed to its IP address (and appropriate port(s) and APIcalls) via the Internet 120, and further can transmit responses torequests and may send out its own requests to other devices at IPaddresses on, or reachable via, the Internet 120 (and potentiallyadditionally through a cellular network 110 to mobile cellular devices).The Notification Service 123 is an application executing on a computersystem that is accessible via a Notification Service Server 122 via aweb server 121 connected to the Internet 120. The computer system may bethe same computer system executing the Notification Service Server 122or may be a separate computer system. In either case, the computersystem may comprise at least one central processing unit executingNotification Service program instructions stored in local or remotecomputer-readable memory. The Notification Service 123 may be aweb-enabled service. In particular, the web-enabled service may be aninstance of a Notification Service application executing in the Cloud,such as an E2C instance running on an Amazon Web Services (AWS) cloudweb hosting platform.

FIG. 9 is a flow diagram illustrating operation of an exemplaryembodiment of the Remote Trap Monitoring Notification Service 123. As apreliminary step, a message in the form of an IP packet 76 containingthe destination IP address of the Notification Service Server 122 and apayload having the alert message contained therein is transmitted fromthe SMT 105 over the LTE-M network 110 to a P-GW 115 and then over theInternet 120 to Web Server 121. The Web Server receives the IP packet(step 61), and then routes it to the Notification Service server 122(step 62). The Notification Service server 122 extracts the payload ofthe received IP packet (step 63), and instantiates an instance of theNotification Service 123 (step 64), passing the payload 76 to theNotification Service 123 (step 65), via a Notification Service API. TheNotification Service 123 decodes the message payload 70 (step 66) andperforms one or more actions based on the contents of the payload (step67). In particular, the Notification Service 123 performs a series ofappropriate steps according to predefined programming instructions. TheNotification Service 123 performs one side of at least some of theCommunication Sequence(s) executed in cooperation with the SMT 105controller 201 as described in connection with step 215 of FIG. 6. Forexample, it performs the Notification Service steps outlined in theCommand Sequences, detailed hereinafter.

In an embodiment, the Notification Service 123 is software hosted on acomputer system, such as a computer operated by a Cloud computingprovider.

Preferably, the Notification Service 123 provides an ApplicationProgramming Interface (API) by which client devices can access theNotification Service 123. In an embodiment, the hosting computer systeminstantiates an instance of the Notification Service 123 upon receipt ofa proper API call to the Notification Service 123. In other words, whena web browser running on a remote device 109 or other software oranother system generates a Uniform Resource Locator (URL) requestcontaining the correct IP address of the hosting computer, along withthe correct path to the directory containing the executable of theNotification Service 123, and the API call is formatted correctly andcontains valid parameters, the Notification Service server automaticallyinstantiates an instance of the Notification Service 123. In anembodiment, the Notification Service 123 is hosted on a computer that isaccessible via the Internet. For example, the Notification Service 123may be a cloud-based service that is hosted on an Internet-connectedserver such as an Amazon Web Services (AWS) server, available fromAmazon, Inc. In an alternative embodiment, the Notification Service 123may be a service that runs on a computer connected to an internalnetwork of a closed network system.

FIG. 10 shows a more detailed diagram of the architecture of anembodiment 300 of Notification Service 123. As shown therein, theNotification Service 300 includes a central control module 301, anencode/decode module 302, an administrative (Admin) module 303, apayment module 304, an App Backend module 310, a Mapping Module 313, asubscriber database 305, and a code database 306. Each of the modulescomprises computing resources and computer-readable storage memory. Forexample, each module may comprise a service or application or programcomprising program instructions and executed by one or more processor(s)such as Central Processing Unit(s) (CPU), microprocessor(s), cloudcomputing resource(s) (such as an Amazon Web Service E2C instance(s)),etc. Each database 305 and 306 comprises computer-readable storagememory and may be implemented as a managed system (DBMS), local storage,Amazon Web Services S3 bucket(s), etc. The Notification Service 300 isconnected to the Internet 120 through which it may communicate with oneor more 3^(d)-party payment systems 307, App Store(s) 308, and services309 a-309 f and 312.

The encode/decode module 302 (and specifically the decoder portion, or“decoder,” 302 a of the encode/decode module 302) decodes messagesreceived from remote SMTs 105 that are routed to it from the trap102/SMT 105 through the Internet 120 (for example, from the P-GW 115 ofthe cellular network 110). Decoded messages are passed from theencode/decode module 302 to the control module 301 whereby the controlmodule 301 processes the decoded message in accordance with predefinedinstructions as set forth herein. In an embodiment, the decoder 302 adecodes the message payload 30 to extract the device ID from the deviceID field 32 of the message payload, which is used by the control module301 to identify the SMT 105 that sent the message. Additionally, thedecoder 302 a may extract the contents of additional fields 33, 34, 35from the message payload 30 to be used by the control module 301 todetermine and execute the appropriate command sequence in connectionwith the message received from the SMT 105.

The encode/decode module 302 (and specifically the encode portion, or“encoder”, 302 b of the encode/decode module 302) also encodes messagesand data to be sent from the Notification Service 300 to the trap102/SMT 105. Specifically, the encoder 302 b encodes into a packetpayload information that is to be transmitted from the NotificationService to the SMT 105. The encoder 302 b formats the packet payload ina format that is decodable by the trap 102/SMT 105, and thenencapsulates the packet payload into one or more IP packets for routingto the SMT 105 via the Internet and cellular network 110.

The central control module 301 operates as the central controller forthe notification service 300 and offers one or more ApplicationProgramming Interface(s) (APIs) to allow other modules, services anddevices connected to the Internet to communicate with the NotificationService 300.

The Admin Module 303 may provide code management tools which allow anadministrator to manage app and firmware versions, and deployment of appand/or firmware upgrades to electronic devices 109 and/or SMTs 105. Inan embodiment, the Admin Module 303 may be configured to allow a vendoror manufacturer of a device that incorporates an SMT 105 to keep trackof firmware versions of its respective devices in the field, and controldeployment of firmware upgrades to such devices.

The code database 306 comprises computer-readable storage memory andstores one or more versions of firmware for the SMTs 105, one or moreversions of apps for the App Store(s) 308, and other administrativedata, program data, and information. For example, the code database 306may include app code and various versions thereof of an app 311 a thatmay be downloaded to an app store 308 and made available to subscribersto the Notification Service 300. For example, the notification service300 may make available one or more apps such as an iOS app for Appledevices such as iPhones and iPads, and an Android app for Google Androiddevices. These apps may be made available through the Apple store orGoogle Play store. A subscriber may download an available app 311 a fromone of the stores 308 The apps may be downloaded and installed by an enduser from one of the Apple store of the Google Play store to their enduser electronic device. The app 311 a communicates with the NotificationService 300 using conventional app technology such as made availablethrough the electronic device operating system (such as iOS or Android).

The Admin Module 303 may also provide tools to allow an administrator toaccess profiles, account information and/or subscriber records ofsubscribers of the Notification Service 300. These tools may includegraphical user interfaces, controls and/or methods for setting upsubscriber accounts, creating subscriber records, and adding,activating, modifying, and/or removing subscriber profiles, subscriberaccounts, and/or subscriber records. For example, the Admin Module 303may include a Customer Support tool (not shown) that allows a customerservice representative of the Notification Service to assist subscribersof the Notification Service, including allowing such customer servicerepresentative to add, remove, and/or modify information contained in asubscriber record 370 in the Subscriber database 305.

FIG. 11 illustrates an example record 360 stored in the SubscriberDatabase 305. Each record 360 is associated with a registered SMT 105and includes a plurality of fields 361, 362, . . . , 366 containinginformation about (1) the subscriber, (2) the respective SMT 105, and(3) notification service configuration(s). In an embodiment, each record360 includes a field 361 containing a device identifier that uniquelyidentifies the registered device (i.e, the SMT 300 or trap 102). Eachrecord 360 also includes field(s) 364 a, . . . , 364 n, that contain(either directly or indirectly using a pointer or indirect reference to)one or more notification recipient delivery service handles (username,phone number, user or device identifier, etc.) and correspondingdelivery services (e.g., email, SMS text, in-app push notificationsservice) through which a message can be delivered to one or moreperson(s) corresponding to such handle(s). Each record 360 will alsotypically include additional fields, such as but not limited to statusfields 362 indicating various status information about the SMT 105/trap102, control fields 363 used to trigger certain remote maintenanceand/or control configuration and behavior of the remote SMT 105. Therecord 360 may also include one or more location-related field(s) 365,which may include such location information as most recent GPScoordinates, user-identified location description (for example an ASCIItext description of the location that reminds the user where the SMT 105is located). The record 360 may further include one or more firmwareversion field(s) 366.

Generally at least one record 360 is stored for each SMT 105 that ismonitored by the Remote Trap Monitoring Notification Service 300. Atypical subscriber database 305 will store thousands or hundreds ofthousands or more records, corresponding to unique SMTs 105 and/ordevices associated with the SMTs 105.

FIG. 12 illustrates an example subscriber database record 370 withillustrative contents. As illustrated, the example subscriber databaserecord 370 includes a plurality of fields 371, 372, . . . , 391. Forexample, subscriber database record may include an identifier field 317indicating the identifier Unit_ID of the SMT 105 to which the recordcorresponds; an activation status indicator 372 indicating whether theSMT 105 is activated (i.e., subscribed to the Notification Service)(e.g., no=(“0”), yes=(“1”)); a battery low status indicator 373indicating whether the battery charge level is normal (“0”) or low(“1”); a reset status indicator 374 indicating whether the SMT 105 hasbeen reset (e.g., no=(“0”), yes=(“1”)); a trigger field 376 indicatingwhether one or more alert conditions have been sensed (e.g., no=(“0”),yes=(“1”)); one or more sensor fields 377, 378, 379 indicating whether acorresponding sensor is installed and able to communicate with the SMT105 (e.g., no=(“0”), yes=(“1”)); a Change field 380 indicating whetherthe notification service needs to communicate a configuration or otherchange of device settings to the SMT 105 (e.g., no=(“0”), yes=(“1”)); aPause indicator 381 indicating whether a user has set a Pause setting(e.g., no=(“0”), yes=(“1”)); an AutoPause field 382 indicating timinginformation related to the Pause setting; an alert delay field 383indicating timing information related to alert and notifications (e.g.,an integer corresponding to number of minutes that alert notificationsshould be delayed before notifying notification service); a check-infield 384 indicating how often the SMT 105 is required to automaticallycheck in with the notification service (e.g., an integer correspondingto number of minutes that should pass in the absence of a sensor alertbefore automatically checking in with the service); a current firmwarefield 385 indicating the version of firmware currently installed in theSMT 105; an update firmware field 386 indicating a version of firmwarethat the SMT 105 should be updated to; a location field 387 indicatingthe current location of the SMT 105; a battery saving mode field 388indicating number of times an alert must be sensed before the SMT 105sends an alert to the notification service (e.g., an integer); and oneor more user handles and corresponding delivery service types 389, 390,391 containing information about who and how to send alert messages todesignated notification recipients.

The following example is provided for illustration: the Unit_ID field371 contains a serial number 12345 which for purposes of this example,corresponds to a particular SMT 105. Continuing with the example,activation status indicator 372 is set to “1”, indicating that the SMT105 is activated (i.e., subscribed to the Notification Service). Thebattery low status indicator 373 is set to “0”, indicating that thebattery is sufficiently charged. The reset status indicator 374 is setto “0”, indicating that the SMT 105 has not been reset. The formatstatus indicator 375 is set to “0”, indicating that the SMT 105 need notbe reformatted or firmware updated. The trigger field 376 is set to “0”,meaning that the sensors at the SMT 105 have not detected a monitoredcondition. Sensor 1 and Sensor 2 fields 377, 378 are each “1”,indicating that corresponding sensors (e.g., 206 a, 206 b) are presentand operating at the SMT 105. Sensor field SensorN 379 is “0” indicatingthat a corresponding sensor is not present and/or not operating at theSMT 105. The change status field 380 is set to “0”, indicating that thenotification service does not need to configure the control oroperations of the SMT 105. The pause indicator 381 is set to “0”,indicating that the unit is not paused. The AutoPause field 382 andAlertDelay fields 383 are each set to “0”. The check-in field 384 is setto “720” indicating that the SMT 105 is required to automatically checkin with the notification service after 720 minutes (12 hours) since itlast checked in with the Notification Service (which may be due to anautomatic check-in or due to a sensed alert condition). The currentfirmware field 385 is set to “1.0”, indicating the firmware currentlyinstalled in the SMT 105 is Version 1.0. The update firmware field 386is not set, indicating that the firmware version is the latest version;The location field 387 is not set, indicating that the location of theSMT 105 is either not be tracked, or is unknown. The battery saving modefield 388 is set to “3”, indicating that the SMT 105 must sense an alertcondition three times before it sends an alert message to thenotification service.

In an embodiment, configuration settings that need to be sent to and setin the SMT 105 (such as Pause, Battery Saving Mode, Check-In and/orother settings) may be set in the subscriber database record associatedwith the SMT 105 via a user app or other web-based portal, yet suchsettings will not be propagated to the SMT 105 until the next time theSMT 105 checks in with, or sends an alert message to, the NotificationService 107. Similarly, for traps 102 with low power SMT units 105, afirmware upgrade may be deployed only after the SMT 105 first contactsthe notification service 300. For reasons that are made more clearhereinafter, this protocol allows the SMT 105 to conserve battery powerby entering into a low power mode until the occurrence of apredetermined sensed condition or the expiration of the check-in period.In other words, unlike conventional cellular devices, the SMT 105 doesnot have to wake up and listen for messages coming in from the network110 every few seconds. In other embodiments the SMT 105 may beprogrammed to check in with the Notification Service 107 or SMTmanufacturer on a timed schedule or through other control mechanisms toreceive any firmware upgrades.

Referring again to FIG. 10, the Notification Service 300 may alsoinclude an App Backend Module 310 a and/or a Web Backend Module 310 b,which respectively operate as the interface between the NotificationService 300 and instances of end user Apps 311 a or Web page(s) 311 bdisplayed in a browser, executing on end users' electronic devices 109.Subscribers to the Notification Service 300 may interact with theNotification Service 300 via (1) a downloadable App 311 a running on anInternet-enabled electronic device 109 (such as but not limited to asmartphone, a tablet or laptop, a desktop computer, a terminal connectedto a server or other computer, etc., and/or (2) via one or more Webpage(s) 311 b running in a Web browser (not shown) executing on acomputer system or mobile device. The app 311 a may be downloaded to theuser's device 109 from a device-accessible app store 308, such as theApple App Store, Google Play, or other app stores through which apps canbe selected and downloaded. Apps may be provisioned in the app stores308 from the code database 306. The app 311 a runs locally on the user'sdevice and is supported by the App Backend Module 310 a so as toeffectuate communication, collection of user input, and display ofinformation relating to the end user's account and subscriber devices(i.e., SMTs 200 registered to the subscriber account). Alternatively, asubscriber may access the Notification Service via a web portal such asa website that provides subscriber access and a graphical user interface(GUI) on one or more Web page(s) 311 b displayed within in a web browserrunning on a computer or other electronic Internet-enabled device 109,and which that allows a subscriber to interact with the NotificationService via a Web Backend Module 310 b. Hereinafter, the detaileddescription refers frequently to an app 311 a or apps 311 a. It is to beunderstood that the functionality described herein with respect to suchapp or apps 311 a may alternatively or additionally be implemented aswebpage(s) in communication with the Web Backend Module 310 b.

The Control Module 301 provides an API through which user apps 311 a cancommunicate with the Notification Service 300 and configure their userprofile, notification recipient information, and the operationalsettings for their registered trap 102/SMT 105. Users connect to theNotification Service 300 through the app 311 a running on their localdevice 109, which connects to the Internet directly through WiFi, a LAN(via Ethernet), and/or indirectly through a cellular or other network130. Communication between the app 311 a and control module 301 arerouted using conventional TCP/IP over the Internet 120 and/or cellularnetworks. The app 311 a provides prompts for the user, and radio buttonsand/or other graphical user interface (GUI) widgets/controls to allowthe user to configure settings for the SMT 105 and for the operation ofthe Notification Service 300. As an example, the app 311 a may provide aGUI displaying a slider that allows a user to set the level ofsensitivity of a sensor on the SMT. Changing the sensitivity levelchanges the sensitivity of a sensor to a type of event, and may resultin more or fewer alert conditions sent to the SMT controller.

When a user or owner of a trap 102/SMT 105 subscribes to theNotification Service 300, the user enters the subscriber information,including subscriber details such as contact information, notificationrecipient information including delivery service handles and associateddelivery services to use to notify notification recipients, and paymentinformation. During registration with the Notification Service 300, theuser may be required to submit a payment for subscribing to theservices. Accordingly, the Notification Service 300 may also include aPayment Module 304. The Payment Module 304 may either manage paymentfrom a subscriber directly, or may handle communication with a3^(rd)-party payment processing system 307 to process payments.

One of the main purposes of the Remote Trap Monitoring NotificationService 300 is to alert subscriber-designated notification recipients ofactivity at or status of traps 102/SMTs 105. To this end, the controlmodule 301 is configured to receive an alert message (e.g., an IP packetcontaining the message payload 30) from an SMT 105, extract the payload(including the alert message) from the IP packet, extract the device IDfrom the payload, decode the alert message, and determine whether thealert requires generation of a notification to one or more notificationrecipients. If a notification is required, the control module 301accesses the subscriber database 305 to retrieve the record 370associated with the device ID, extract and identify the notificationrecipients, corresponding delivery handles and associated deliveryservices. The control module 301 then formats one or more message(s)appropriate to the particular delivery service(s) and sends themessage(s) to the respective delivery service(s) via the Internet 120and/or other networks 110, 130. Each delivery service includes anInternet-enabled delivery service running on computer systems or otherhardware that is connected to, and accessible via, the Internet 120. Forexample, the Notification Service 300 may utilize the service(s) of oneor more SMS text services 309 a, one or more email services 309 b suchas SMTP services, one or more instant messaging services 309 c, one ormore text-to-voice or other voice mail messaging services 309 d, one ormore app push notification services 309 e, and one or more otherInternet-enabled messaging services 309 f. Such services adhere toconventional TCP/IP protocols for passing messages thereto.

In an embodiment, the Encoder/Decoder module 302 in FIG. 10 is theinitial point of entry to the Notification Service 300 of messagesissued from SMTs 105 and is the exit point from the Notification Service300 for messages going to SMTs 105. Each alert message contained in thepayload of the IP packet 36 coming from an SMT 105 is in an encodedformat, for example as discussed in connection with FIGS. 8A and 8E. Thedecoder 302 a of the Encoder/Decoder module 302 extracts the messagepayload 30 from the IP packet 36 and decodes the message payload bits 31into a format or other data usable by the control module 301. Based onthe decoded information generated by the decoder 302, the control module301 performs one or more actions, as described in connection with FIG.13. Generally, an SMT 105 only contacts the Notification Service 300 forone of two reasons: (1) to alert the Notification Service of theoccurrence of an event at the SMT 105, or, optionally, (2) to check inwith the Notification Service 300 to let the Notification Service knowthe SMT 105 is still functioning and connected (alternatively referredto as a “heartbeat” function).

FIG. 13 is a communications interaction diagram illustrating anexamplary operational implementation of the actions of, andcommunications between, an SMT 105 (e.g., 200) and the NotificationService 300 that may ensue after the SMT 105 has been initialized, hasestablished a connection to the cellular network (see steps 211-216 inFIG. 6), placed itself into power saving mode (PSM), and is awakenedfrom PSM (step 217 of FIG. 6). FIG. 13 illustrates in more detailexemplary actions and inter-communications between an SMT 105 andnotification service 300 upon the SMT controller 201 receiving asensor-sourced interrupt, causing the SMT 200 to exit PSM, process thesensor information and, if determined, generate and send an alertmessage to the Notification Service 300 (see steps 217-222 and 215-216of FIG. 6).

As shown in FIG. 13, when the SMT 105 wakes from PSM (step 217 of FIG.6), it begins a general processing sequence. First, the SMT 105 mayperform one or more optional preliminary checks (step 401) to see if itshould continue further processing. For example, in an embodiment, theNotification Service may implement an activation/deactivation featurewherein an SMT 105 ignores alerts from sensors if it has not beenactivated through the Notification Service. In the illustrativeembodiment, this feature is implemented by way of a field or bit(unit_isActivated) that is TRUE if the SMT 105 is an authorized activesubscriber to the Notification Service 300, and is FALSE otherwise. Theunit_isActivated field/bit 372 may be stored in the subscriber record370 (FIG. 12) in the Notification Service database 305, and a local copymay be stored in the memory 202 of the SMT 200. The local copy of theunit_isActivated field 372 may be used by the SMT 200 to reduce oreliminate communications transactions between the SMT 200 andNotification Service 300 when an SMT 200 is not registered to a currentsubscriber account with the Notification Service 300. Theunit_isActivated field 372 is set to TRUE when an SMT 105 becomes anauthorized active subscriber to the Notification Service 300, and is setto FALSE when an SMT 105 no longer subscribes to the NotificationService 300. Returning to FIG. 13, if the SMT controller 201 determinesthat the SMT 105 is not a subscriber to the Notification Service 300,then no alert messages will be sent to the Notification Service 123, andthe SMT 105 returns to PSM (step 401).

Another example of a preliminary check that may be performed in step 401is determination of whether the SMT 200 has been placed in a “Pause”mode. As discussed hereinafter, the SMT 105 may implement a pausefeature that allows a subscriber to pause all notifications for acertain amount of time, referred to herein as “Pause mode”, whereby anyalerts received during such time are ignored. In an embodiment, the SMT105 controller 201 may check to see if a Pause timer at the SMT 200 iscurrently counting down, and if so, the controller 201 places the SMT105 back into PSM and does not send a corresponding notification messageto the Notification Service 300.

After performing preliminary checks (step 401), the SMT controller 201then checks for a battery low status condition from a battery levelsensor (not shown), and sets a Battery Low status bit “B” to TRUE if itdetects that the battery low condition is met (step 402). The controllermay additionally turn on a battery low indicator on the SMT, such as butnot limited to turning on an LED (not shown), upon detection of thebattery low condition.

A reset status bit “R”, format status bit “F”, and trigger status bit“T” may be set to TRUE depending on the reason that the SMT 200 came outof PSM (steps 403-405). For example, if a sensor triggered an interrupton the controller upon detection of a predetermined condition, theinterrupt service routine may set the “T” bit to TRUE. As anotherexample, if an end user of the SMT 200 activates a Reset of the device,such as pushing a Reset button or interacting with the SMT 200 accordingto a predefined procedure for resetting the SMT 200, the controller 201executes a Reset routine which sets the Reset bit “R” to TRUE. Inanother example, if the administrator of the Notification Service 300determines that it needs to propagate a firmware update to the SMT 200,it may, on the next connection from the SMT 200, send a firmware updatecommand to the SMT 200, which causes it to set the format bit “F” toTRUE, and keep the connection to the Notification Service 300 open toreceive firmware from the Notification Service, as discussed in moredetail hereinafter.

Once the status bits (B, R, F and T) are set to accurately reflect thecorresponding conditional state of the SMT 200, the controller 201 opensa connection to the Notification Service (step 406). Uponconfirmation/acknowledgement from the Notification Service 300 that theconnection is open, the controller 201 sends the SMT 200 status to theNotification Service 300 (step 407). In an embodiment, the status isencapsulated in an alert message in a format such as described inconnection with FIG. 8A.

The alert message containing the SMT status is transmitted from the SMT200 to the Notification Service 300 via the cellular network 110 andInternet 120.

At the Notification Service 300, the Notification Service 300 receivesand decodes the SMT status (step 408). It may then perform variousactions based on the status of the bits, R, F, B and T. To this end, theNotification Service 300 checks if the Reset bit “R” is True (step 409).If True, this indicates that the SMT 200 has been reset and that theuser configured settings at the SMT 200 should be reset to their defaultvalues. Accordingly, the Notification Service 300 resets the userconfigurable device settings in the Notification Service database record370 associated with the SMT 200 to their default values (step 410), thensends a command to the SMT 200 to update its User Configurable settingsto the default settings (step 411), and notifies the NotificationRecipients associated with the SMT 200 that the device has been reset(step 412). At the SMT 200, the controller has held open the connectionto the Notification Service because the Reset status is TRUE, and itreceives the updated (default) User Configurable SMT settings andconfigures the SMT with the updated settings. (step 413).

Back at the Notification Service 300, the Notification Service 300further checks the format status, and if the Format status is TRUE (bitF=TRUE) (step 414), the Notification Service 300 performs a firmwareupdate routine (step 415). The firmware update routine is not shown inFIG. 13; however, the firmware update may generally include the steps ofobtaining the version identifier of the currently installed firmware onthe SMT 200 (i.e., the currentFW field 385), comparing the currentfirmware version to the version of firmware that it should be (theupdateFW field 386), and if the currentFW field 385 does not match theupdateFW field 386, then downloading the firmware identified by theupdateFW field 386 to the SMT 300. There are various ways to check thefirmware version of the SMT 200: one is to record/store the version ofthe currently installed firmware in the memory of the SMT 200 andimplement a command sequence that allows the Notification Service 300 torequest, and the SMT 200 to reply with, the value of the current FWversion; an alternative method is to record the value of the currentlyinstalled SMT firmware version in a field (Unit_currentFW 385) of therecord 370 associated with the SMT 200 that is stored in theNotification Service database 305. The FW download from the NotificationService 300 to SMT 200 typically involves a conventionalsend-receive-acknowledge (ACK)/no acknowledge (NAK) communicationsequence via networks 110, 120 whereby the Notification Service 300sends a series of block of bytes of FW data to the SMT 200, and the SMT200 receives each the block of FW data, performs a checksum or othervalidation of the data, and replies with an ACK message if the block wassuccessfully received and validated or a NAK message if the block wasnot successfully received or did not validate. As each block issuccessfully received, the SMT 200 stores the block in its memory 305,and once all blocks are successfully received, performs aself-programming routine to update its own firmware, and then reboots(step 416).

Once the firmware update is performed, the Notification Service sends anotification message to the notification recipients associated with theSMT 200 (step 417).

The Notification Service 300 also checks the Battery low status, bit B,which when TRUE indicates that the battery charge level is low (step418). If the battery low status is TRUE, the Notification Service 300updates the status (sets the Unit_battery field to TRUE) in theNotification Service database record 370 that is associated with the SMT200 (step 419), and then sends a notification message indicating thebattery low condition to the notification recipients associated with theSMT 200 (step 420).

The Notification Service 300 also checks the sensor alert (“Trigger”status), bit(s) T, which when TRUE indicates that a monitored alertcondition occurred at one of the sensor(s) 206, which triggered thecurrent alert message (step 421). In an embodiment, the NotificationService may implement a Pause feature, that allows a subscriber to pauseall notifications for a certain amount of time. In such embodiment,prior to acting on a TRUE trigger status, the Notification Service 300may first determine whether the user has set the Pause mode. In anembodiment, the user may configure the User Configurable SMT settingsfor the SMT 200 through user interface controls in the app 311 a. Onesuch control may be a Pause mode control that allows the user to “pause”notifications of trigger events going to notification recipients. In anembodiment, when the subscriber sets the pause mode, the user may set atime period during which notifications should not be sent tonotification recipient(s). The app 311 a acts on user input to the app311 a, and sets fields corresponding to user configurable SMT settingsbased on user selections and input collected via the app 311 a. Forexample, when a user uses the app 311 a to set the Pause mode for theSMT 200, the Notification Service 300 may update the Unit_Pause:Setfield 381 in the Notification Service database record 370 associatedwith the SMT to TRUE. In this embodiment the Notification Service 300checks the Unit_Pause field 381 to see if it has been activated (i.e.,unit_Pause:Set is set to TRUE) (step 422), and if so, sends a command tothe SMT 200 instructing the SMT 200 to enter Pause mode (step 423). ThisPause mode command sequence may be accomplished in multiple differentways: one methodology is to include a Pause_length value(unit_Pause:length) corresponding to how long the SMT should remain inPause mode. In such an embodiment, the SMT may start a countdown timerto count down the length of time indicated by the Pause_length value(step 424).

If the SMT 200 is not in Pause mode (step 425), for example, whenunit_Pause:Set is FALSE, the reason for the Trigger is determined. In anembodiment, the Notification Service 300 may send a command (step 426)to the SMT 200 to send it extended trigger status data (step 427).Alternatively, the extended status data may be encapsulated in themessage payload 30 itself. For example, if the SMT comprises a pluralityof different sensors 206 a, 206 b (see FIG. 5), the status bits 34 mayinclude additional bits indicating which of the sensors 206 a, 206 boriginated the alert that triggered the alert message to theNotification Service 300. For each monitored sensor 206 a, 206 b, theremay be a single bit that may be in one of two states, 0 or 1, indicatingwhether the alert was sourced by that respective sensor. Alternatively,or in addition, the status bits 34 may include a plurality of bits usedto indicate received sensor information from one or more of the sensors206 a, 206 b. If there is only one sensor 206, the T bit itselfindicates that the alert came from the only sensor 206.

The Notification Service 300 decodes the Trigger status and extendedstatus (if available) (step 426) to determine which sensor originatedthe alert, and notifies the notification recipient(s) of the event thatgenerated the Trigger condition (step 428).

In the preferred embodiment, in order to conserve battery power, the SMT200 does not listen for messages from the Notification Service. Instead,communication is initiated only by the SMT 200—that is, the NotificationService 300 cannot directly contact the SMT 200. This protocol allowsthe SMT 200 to remain in PSM unless interrupted by a sensor 206detection of a sensor alert condition. Optionally, the SMT 200 mayperiodically send a “check-in” (alternatively referred to as a“heartbeat”) message to the notification service 300 to report it isstill operating as expected (i.e., it is still up and running andconnected to the cellular network 110). Thus, the SMT 200 only contactsthe Notification Service (1) when an alert condition occurs at the SMT200; and/or (2) upon expiration of a heartbeat timer in order to send acheck-in message.

As described previously, the subscriber to the Notification Service 300may have the option of setting one or more SMT 200 settings to configurethe behavior of the SMT 200. When a user applies a User Configurable SMTsetting in the app 311 a, the Notification Service 300 collects theinformation and stores the user setting information in one or morefields in the Notification Service database record 370 associated withthe particular SMT 200. To indicate that there have been changes made tothe User Configurable SMT settings, in an embodiment the NotificationService may set a “Change” bit or bits (Unit_Change field 380) in theNotification Service database record 370 associated with the particularSMT 200. Then the next time the SMT 200 connects to the NotificationService 300, the Notification Service 300 checks to the Unit_Changefield 380 in the Notification Service database record 370 associatedwith the particular SMT 200 to determine whether it needs to apply anyupdated User Configurable SMT settings to the SMT 200 (step 429). If theUnit_Change field 380 indicates the User Configurable SMT settings needto be updated at the SMT 200, the Notification Service sends the updatedUser Configurable SMT settings to the SMT 200 (step 431) and resets theUnit_Change field 380 (step 430). The SMT 200 receives and updates theUser Configurable SMT settings in the SMT 200 (step 432) and executesany command sequences corresponding to the updated settings (step 433),clears the R, F, and T status bits (step 434) and enters PSM (step 435).Meanwhile, the Notification Service 300 closes the connection to the SMT200 (step 436).

SMT Settings and Configurations

The command sequences executed by the SMT 200 (in step 215 of FIG. 6)will depend on what user configurable features are implemented by themanufacturer of the SMT and how the user configures the userconfigurable SMT settings to set the operational behavior of the SMT200. In various embodiments, the SMT 200 may be manufactured toimplement one or more features, including, without limitation: a manualpause feature (hereinafter “Manual Pause”) that allows a user of the SMT200 to temporarily pause alert messages from the SMT 200 to theNotification Service 300; an automatic ramping notification delayfeature (hereinafter “AutoPause” feature) that may be preprogrammed toautomatically pause connection to the Notification Service 300 aftersending a Trigger-sourced notification message to the NotificationService; an automatic check-in feature (hereinafter “AutomaticCheck-in”) which allows a user set how often the SMT 200 should send acheck-in message to the Notification Service 200 since its lastcommunication (either an alert message or a check-in message) with theNotification Service; an alert delay feature (hereinafter “Alert Delay”)which allows programming of the SMT 200 to delay sending of alertmessages to the Notification Service 300 by a predetermined amount oftime (and further configurable to ignore multiple alerts, or to recordadditional alerts and send as a batch of alerts upon expiration of thedelay); a battery saving mode (hereinafter “Battery Saving Mode” or“BSM”) which can automatically turn on after a predetermined number ofalerts and once BSM is activated, operates to delay the transmission ofalert notification messages to the Notification Service by a predefinedamount of time.

Manual Pause

FIGS. 14A-14E depict an example implementation of a Manual Pausefeature. FIG. 14A shows the App 311 a executing in an end user'selectronic device 109, displaying a Manual Pause feature user interface(UI) 500 that provides UI controls 501, 502 that allow a user to,respectively, turn on or off the Manual Pause feature and configure theManual Pause Time setting(s). The Manual Pause UI 500 may also include amode control 502 a, which allows the user to control whether any sensoralerts received while the SMT 200 is in Pause mode are saved and sent tothe Notification Service in a batch of messages the next time the SMT200 connects to the Notification Service 300 (“Batch” mode), or whethersensor alerts received during an AutoPause interval are ignored and notsent to the Notification Service the next time the SMT 200 connects tothe Notification Service 300 (“Ignore” mode).

FIG. 14B shows a flowchart illustrating an example method 510 that maybe executed in the App 311 a running on the electronic device 109. Asshown therein, the App 311 a displays the Manual Pause Functionality 500with various UI controls 501, 502 (step 511) for receiving user input(step 512). Upon receiving user input, the App 311 a processes anddecodes the user input to determine which UI control sourced the userinput (steps 513, 515) and update the display of the respective control501, 502 based on the decoded user input (steps 514, 516). The App 311 aformats the collected changes into a message and sends the Manual Pausesettings to the App Backend Module 310 (step 517).

FIG. 14C illustrates an example embodiment of a method 540 that may beexecuted by the App Backend Module 310 communicating with the App 311 aexecuting on the user's device 109. Upon receiving a message containinguser configured Manual Pause settings from the App 311 a (step 541), theApp Backend Module 310 extracts from the received message the ID of thesubscriber SMT 200 associated with the user of the App 311 a (step 542)and the Manual Pause settings included in the message (step 543). TheApp Backend Module 310 processes, formats and stores the received ManualPause settings into the unit_Pause field 381 in the Notification Servicedatabase 305 in the record 370 associated with the extracted subscriberSMT ID (step 544). The unit_Pause field 381 may include an on/off bit,unit_Pause: ON (“1”=ON, “0”=OFF) and a plurality of bits,unit_Pause:time, indicating a length of time in minutes (or other unitof time—e.g., second, hours, etc.). The App Backend Module 310 also setsthe unit_Change field 380 in the record 370 associated with theextracted subscriber SMT ID to TRUE (step 545) to signal theNotification Service 300 to send the User Configurable SMT settings(including the Manual Pause settings in unit_Pause) to the SMT 200 thenext time the SMT 200 connects to the Notification Service 300.

Alternatively, Manual Pause mode may be entered through predefined userinput actions and/or electronic or mechanical actuations on the physicalSMT 200 unit itself. In such an embodiment, actuation of the Pauseactuation mechanism triggers a service routine, an example of which isshown in FIG. 14F, which comprises the step of determining whether theactuation mechanism is in the On state or the Off state (step 563). Ifthe actuation mechanism in in the On state, the SMT 200 setsunit_Pause:On to TRUE, sets the MP timer to unit_Pause:Time, and startsthe MP timer (step 564). If the actuation mechanism is set to the Offstate, the SMT 200 sets unit_Pause:On to FALSE, and stops and clears theMP timer (step 565).

FIG. 14D illustrates an example embodiment of a method 550 that may beexecuted by the SMT 200 after connecting to the Notification Service 300and receiving User Configurable SMT settings (including the Manual Pausesettings in the unit_Pause field 381). Upon receiving the UserConfigurable SMT settings from the Notification Service 300 (forexample, in step 413 of FIG. 13), the SMT 200 extracts the MP settingsfrom the received message (step 551) and stores the extracted ManualPause settings (or local representations of the settings) in localmemory (step 552). The SMT 200 then sets the MP timer tounit_Pause:Time, and starts the MP timer (step 553).

Generally, once an SMT 200 enters the Pause mode, it will not send anyalerts to the notification service 300 if an alert condition is sensedduring the Pause period. Thus, once in Pause mode, the SMT 200 remainsin Pause mode until expiration of the Pause period. In an embodiment,the SMT 200 may be programmed to make an exception for notificationservice check-in messages, wherein if a check-in timer expires (i.e.,the SMT 200 has not communicated with the notification service bysending either an alert message or a check-in message to thenotification service since the most recent communication with thenotification service), the SMT 200 may still wake-up and send thecheck-in message to indicate to the Notification Service 300 that it isstill operating. In an embodiment, if a check-in message is sent to theNotification Service 300 while the SMT 200 is in Pause mode, thecheck-in message will not send alert notification or alert status. In analternative embodiment, the check-in message may include sensor alertstatus (but the Notification Service 200 preferably will not sendnotification messages to the designated notification recipients.

FIG. 14E illustrates an exemplary method 560 executed by the SMT 200when the Manual Pause timer expires to exit the SMT 200 from the Pausestate. As illustrated, the SMT 200 sets it local copy of the MPindicator to False (unit_Pause:On=FALSE) (step 561), and then, if notalready stopped and cleared, stops and clears the MP timer (step 562).Finally, if the “Batch Mode” is enabled, SMT 200 sends stored sensoralert notifications to the Notification Service 300.

Automatic Pause

The AutoPause feature is an automatic notification delay with optionalramping that may be preprogrammed to automatically pause connection tothe Notification Service 300 after sending a first or a predeterminedfew sensor-sourced alert message(s) to the Notification Service. In anembodiment, after sending the predetermined number of alert message(s),the SMT 200 enters the AutoPause mode, wherein it ceases to send furtheralert messages to the Notification Service for a programmed length oftime or receiving a programmed number of additional sensor-sourcedalerts from the same sensor(s) for the same alert condition(s). TheAutoPause feature serves to (1) prevent draining of the battery sourcedue to unnecessary transmission of alert messages due to the same sensorcondition(s) after it has already notified the notification service, and(2) prevents the Notification Service from sending an excessive numberof notification messages to designated notification recipients thatcontain no new information. In an embodiment, the pre-programmed timeinterval or required received number of additional sensor-sourced alertsbetween sending sensor-sourced notification messages to the NotificationService is gradually increased over time, or the more sensor-sourcedtriggers the SMT controller 201 receives from the the SMT sensor(s) forthe same alert condition(s).

In an embodiment, the AutoPause time interval or the required number ofadditional received sensor-sourced alerts between the SMT 200 sendingsensor-sourced notification messages to the notification service 300 ispreprogrammed by the manufacturer. In an embodiment, the AutoPauseoperational parameters are configurable by the user through a userinterface, such as through App 311 executing on a user's electronicdevice 109, as illustrated in FIG. 15A. That is, in an embodiment, thepreprogrammed AutoPause time intervals may be overridden by the user asa user configurable SMT setting, as discussed in connection with FIG. 13(steps 429-433). In such embodiment, the Notification Service databaserecord 370 (FIG. 12) includes a field 382 (unit_AutoPause), which maycontain one or more bit(s) for turning the AutoPause feature on or off(unit_AutoPause:On), and one or more sets of a plurality of bits(unit_AutoPause:AP1 unit_AutoPause:AP2, . . . , unit_AutoPause:APn) forindicating one or more delay time intervals to delay sending a nextsensor-sourced notification message from the same sensor(s) for the samealert condition(s). In an embodiment, the sets of bits AP1, AP2, APnrepresent a number of units of a predefined time unit. In an alternativeembodiment, the sets of bits AP1, AP2, APn represent a count ofsensor-source alerts received by the SMT 200, indicating for eachinterval how many sensor-sourced alerts must be received during an giveninterval before sending an alert message to the notification service.

FIGS. 15A-15E detail an example of a user-configurable feature referredto herein as an automatic pause, or “AutoPause” feature. FIG. 15A showsan example of an AutoPause setup user interface (UI) 600 that may bedisplayed on a display screen of a smart device 109 executing the App311 a. In the embodiment shown, the App 311 a includes a control 601that allows a user of the App 311 a to turn the AutoPause feature on oroff. In the embodiment shown, the control 601 comprises a slider whichmay be placed in one or the other of the On position or the Off positionby sliding one's finger on the touchscreen of the smart device 109 onthe control 601 in the direction of On or Off. Other embodiments may usea different UI control, such as, but not limited to, a radio button, abutton, or any other UI control that allows a user to select an On orOff configuration for the AutoPause feature. In the embodiment shown,the slider is in the On position, indicating that the AutoPause featureis on, or is to be turned on if not already on.

The AutoPause UI 600 may also include a mode control 602, which allowsthe user to control whether any sensor alerts received by the SMT 200during an AutoPause interval should be saved and sent to theNotification Service in a batch of messages the next time the SMT 200connects to the Notification Service 300 (“Batch” mode), or whether anysensor alerts received during an AutoPause interval are ignored and notsent to the Notification Service the next time the SMT 200 connects tothe Notification Service 300 (“Ignore” mode).

The AutoPause UI 600 also includes one or more control(s), 603, 604, 605which allow a user to set the amount of time each of a first, second,and up to a number, n, of time intervals that the SMT 200 should delaybetween sending alert notifications. The AutoPause feature may be usefulin a situation where multiple alert conditions occur in rapid successiondue to activity at the SMT 200. In many situations, one or a few alertnotifications to the Notification Service resulting in notificationmessage(s) getting sent to the notification recipient(s) associated withthe SMT subscriber account is sufficient to alert the individuals whoneed or want to know about the action without needing to receive thesame alert notification multiple times. In other words, the AutomaticPause feature can serve both as a nuisance prevention feature as well asa battery saving technique (by reducing the number of cellularconnections needing to be made to report the alert notifications).

In an embodiment, the SMT 200 is pre-programmed with an Automatic Pausefeature that pauses sending of alert notifications to the NotificationService 300 after a predetermined number of alert notifications occur inrapid succession. For example, after receiving x number of sensor alertswith y minutes, the SMT 200 may be programmed to automatically enablethe pre-programmed Automatic Pause feature. To illustrate the operationof one embodiment of the Automatic Pause feature, once x sensor alertsare received within y minutes, the Automatic Pause feature disablessending further alert notifications to the Notification Service for anumber, F, minutes (e.g., the numeric value of field 603 set in the userapp 311). After F minutes pass, on the next sensor alert, the SMT 200will send an alert message to the Notification Service 300 notifying theNotification Service of the occurrence of the sensor alert (andoptionally, a batch of received sensor alerts that occurred during thefirst timer interval that notifications from the SMT 200 to theNotification Service was paused). The Automatic Pause feature disablessending further alert notifications to the Notification Service for anumber, S, minutes (e.g., the numeric value of field 604 set in the userapp 311). After S minutes pass, on the next sensor alert, the SMT 200will again send a notification message to the Notification Servicenotifying the Notification Service of the occurrence of the sensor alert(and optionally, a batch of received sensor alerts that occurred duringthe second timer interval that notifications from the SMT 200 to theNotification Service was paused. The AutoPause feature may continue inthis manner for however many intervals that the programmed featureallows.

As an illustration, a first AutoPause time interval may bepre-programmed to be 5 minutes long (see field 603); a second AutoPausetime interval may be pre-programmed to be 10 minutes long (see field604); and a third AutoPause time interval may be pre-programmed to be 30minutes long (see field 605). In this example, once the AutoPausefeature becomes enabled (after receiving one or more sensor alerts fromthe sensors and sending corresponding one or more alert notifications tothe Notification Service 300), the SMT 200 will cease sendingnotification messages for 5 minutes. Upon receiving another triggerafter the expiration of the 5 minutes, the SMT 200 will send anothernotification message to the Notification Service 300, and then ceasesending further notification messages for 10 minutes. After theexpiration of the second time interval (i.e., 10 minutes pass), uponreceiving another sensor alert that should trigger a notificationmessage to the Notification Service 300, the SMT 200 will send anothernotification message to the Notification Service 300, and then ceasesending further notification messages for 30 minutes. After theexpiration of the third interval (or last preprogrammed time interval inthis example), the AutoPause feature may be disabled and return tosending a notification message (and thereby connecting to theNotification Service) on each occurrence of a sensor alert.

In various embodiments, the Automatic Pause feature is preprogrammed bythe manufacturer. In other embodiments, the Automatic Pause feature maybe configurable by an end user. In an embodiment, as discussed inconnection with FIG. 15A, the Automatic Pause feature may be configuredby a user the App 311 a.

Turning now to FIG. 15B, there is shown therein a flowchart illustratingan example embodiment of a method 510 that may be executed by the App311 a to enable user configurable AutoPause settings. According to themethod 610, the App 311 a, and in particular the App 311 a inconjunction with the Operating System of the electronic device 109,displays a user interface (UI) 600, including displaying Automatic Pausefunctionality controls for receiving user input (AP UI controls).Generally, the App 311 a in conjunction with the Operating System of thedevice 109 displays UI controls 601-605 (step 611) and a centralprocessing unit (CPU) executes listener code that “listens” or detectsuser input via, and associated with, the controls 601-605 to facilitatethe receiving of pertinent user input by the App 311 a (step 612). Oncethe user input is received, the App 311 a processes the user input bydetermining what AP UI control 601, 602, 603, 604, or 605 was the sourceof the received user input and whether the state of the UI control waschanged. For example, the user may turn the Automatic Pause feature onor off using the control 601. If the UI control 601 detects a change ofthe On or Off status control 601, the App updates the display of the UIcontrol 601 based on the changed state. For example, if the AutoPausefeature was originally set to Off and the user interacts with the UIcontrol 601 to set the AutoPause feature to On, the App 311 a updatesthe display of the UI control 601 to indicate that the AutoPause featureis now in the On state.

The App 311 a executing on an end user's electronic device 109 includescomputer-readable program instructions implemented to monitor userinteraction with, and collect user input from, each of the UI controls601-605. If the user changes the AP mode 602 control input from Batchmode to Ignore mode, the App 311 a detects this condition (step 615) andupdates the display of the Mode UI control 602 to reflect the changedstate (step 616). Similarly, if the user changes the value of theAutomatic Pause time interval inputs to any of the controls 603, 604, or605, the App 311 a detects the changed time interval (step 617) andupdates the display of the Mode UI control 602 to reflect the changedtime interval (step 618).

Once one or more updates to conditions or states are collected by the UI600, the App 311 a formats the collected changes into a message andsends the User Configurable AutoPause settings to the App Backend Module310. User configured AutoPause settings are then sent to the App BackendModule (step 619).

FIG. 15C illustrates an example embodiment of a method 640 that may beexecuted by the App Backend Module 310 communicating with the App 311 aexecuting on the user's device 109. Upon receiving a message containinguser configured AutoPause settings from the App 311 a (step 641), theApp Backend Module 310 extracts from the received message the ID of thesubscriber SMT 200 associated with the user of the App 311 a (step 642)and the AutoPause settings included in the message (step 643). The AppBackend Module 310 processes, formats and stores the received AutoPausesettings into the unit_AutoPause field 382 in the Notification Servicedatabase 305 in the record 370 (FIG. 12) associated with the extractedsubscriber SMT ID (step 644). The App Backend Module 310 also sets theunit_Change field 380 in the record 370 associated with the extractedsubscriber SMT ID to TRUE (step 645), which ultimately signals to theNotification Service 300 to send the User Configurable SMT settings(including the AutoPause settings in unit_AutoPause) to the SMT 200 thenext time the SMT 200 connects to the Notification Service 300.

FIG. 15D illustrates an example embodiment of a method 650 that may beexecuted by the SMT 200 after connecting to the Notification Service 300and receiving User Configurable SMT settings (including the AutoPausesettings in unit_AutoPause). Upon receiving the User Configurable SMTsettings from the Notification Service 300 (for example, in step 432 ofFIG. 13), the SMT 200 reads and/or decodes the AutoPause settings fromthe received message (step 651) and determines whether AutoPause is orshould be in the On state (e.g., unit_AutoPause:On=TRUE) (step 652). IfAutoPause is not currently in the Off state, or was but should beactively turned off, the SMT 200 stops and/or disables the AutoPausetimer (step 657). Otherwise, the SMT 200 stores the time interval valuesAP1, AP2, . . . , APn (shown in FIG. 15D as AP[x], wherein x=0:n−1) inlocal memory in an n-indexable array of AP time interval values (step653). The SMT 200 initializes a timer counter variable, AP_count, topoint to the value of the first index in the array (shown as 0) (step654). The variable AP_timer indicating the amount of time the AP timershould count down is then set to the time value stored at the firstelement in the AP array (AP[AP_count]) (step 655). The SMT 200 thenenables (if not already enabled) and starts the AP timer (step 656). Inthe example, the AP array stores n elements, which is indexed forpurposes of ease of discussion as 0:n−1. In other embodiments, the arraymay be indexed as 1:n. The way the array is indexed impacts themanagement of consecutive times, as will be discussed in reference toFIG. 15E.

Turning to FIG. 15E, there is shown a flowchart illustrating an examplemethod 660 of operation of the SMT 200 upon expiration of the AP timer.As shown therein, the method may first check the mode of the APoperation (as indicated in the SMT local representation ofunit_AutoPause:Mode). In an embodiment, the Automatic Pause feature mayoperate in a Batch mode whereby all sensor alerts that occur during apause interval of the AutoPause operation, are collected, saved, andsent as a batch to the Notification Service once the AutoPause timeinterval expires. In FIG. 15E, the SMT 200 timer service routine maycheck to see if the AutoPause functionality is set to the Batch mode(step 661). If it is, the SMT 200 checks to see if there are any storedsensor alerts (step 662), and if so, sends the stored alertnotifications to the Notification Service 300 (step 663). Followingthese steps, or if it is determined in step 661 that the AP function isnot in Batch mode or in step 662 that there are no stored alerts tosend, the SMT 200 increments the AP_count variable (step 664) foraccessing the next AP timer value in the AP array.

The SMT 200 performs a check of AP_count to see if it exceeds the numberof elements in the AP array (i.e., AP_count=n) (step 665). If so, theSMT 200 may perform one of several possible functions. In a firstembodiment, the SMT 200 ends the AP function by disabling the AP timerand exits the service routine (step 666). In a second embodiment, theSMT 200 sets the AP_count variable to the value of the last AP arrayelement (i.e., the last timer value) (step 667). In a third embodiment,the SMT 200 restarts the time intervals by setting the AP_count variableback to the first element in the AP array (step 668). The SMT 200 thensets AP_timer to the time value stored at the next element in the AParray (AP[AP_count]) (step 669), and the SMT 200 then restarts the APtimer (step 670).

Automatic Check-In

In an embodiment, the SMT 200 may implement an Automatic Check-in (or“heartbeat”) feature, wherein the SMT 200 sends a status message to theNotification Service 123 according to a programmed schedule, especiallyin the absence of any intervening sensor-sourced alert notification. Inan embodiment, the SMT 200 sends a status notification message to theNotification Service 300 in the event that the SMT 200 has not sent analert notification to the Notification Service 300 within a predefinedperiod of time. For example, the SMT 200 may be programmed to send astatus notification message to the Notification Service if it has notsent any notification message (i.e., either a status notificationmessage or an alert notification message) to the Notification Servicewithin the last h hours (for example, the last 12 hours). The statusnotification message may be used to inform the Notification Service 123that the SMT 200 is still operational and is able to communicate withthe Notification Service 123. The Notification Service 123 may beprogrammed to expect a status message from the SMT 200 according toprogrammed check-in timing. For example, the SMT may send a statusmessage once every 12 hours or more (or less if desired).

Compatible with the Automatic Check-in feature, the Notification Service300 may be programmed to send a notification message to the notificationrecipients associated with a particular SMT 200 if the NotificationService 300 expects to receive a status notification message from theSMT 200 and does not receive such message within a defined time periodafter missing one or more expected status message(s). This AutomaticCheck-in feature enables notification recipients to know whether the SMT200 is operational (i.e., it is powered on and in communication with theNotification Service 123), or whether an operational problem or acommunication problem between the SMT 200 and Notification Service 123exists. The device programmed check-in timing (or, “heartbeat” timing)can be set at a rate such that the SMT 200 checks in with theNotification Service 300 once every several hours, once a day, once everfew day(s), etc., or other (potentially user-configured) period of time.The Automatic Check-in feature provides the advantage of balancing powersaving methodologies with the occasional need for the NotificationService 300 to communicate and deliver messages to the SMT 200. Unliketraditional pageable cellular devices (such as cellular phones) thatneed to be pageable in order to receive phone calls and that requiresuch device to communicate with the phone service provider network every1.2 seconds (to let the nearest tower know where the device is), the SMT200 can set a check-in period to be a much longer period of time (e.g.,on the order of multiple hours or days versus seconds for traditionalcellular devices) to enable the SMT 200 to conserve power. The SMT 200need only register with the network so that the network bearersassociated with the SMT 200 are set up, and then go into a standby modeand need not connect to a cellular site or the notification serviceuntil the SMT 200 needs to send a message.

FIGS. 16A-16E depict an example implementation of an Automatic Check-infeature. FIG. 16A shows the App 311 a executing in an end user'selectronic device 109, displaying an Automatic Check user interface (UI)700 that provides UI controls 701, 702 that allow a user to configureAutomatic Check-in configuration settings.

FIG. 16B shows a flowchart illustrating an example method 710 that maybe executed in the App 311 a running on the electronic device 109. Asshown, the App 311 a displays the Automatic Check-in (ACI) Functionality700 with various UI controls 701, 702 (step 711) for receiving userinput (step 712). Upon receiving user input, the App 311 a processes anddecodes the user input to determine which UI control sourced the userinput (steps 713, 715) and update the display of the respective control701, 702 based on the decoded user input (steps 714, 716). The App 311 aformats the collected changes into a message and sends the UserConfigurable ACI settings to the App Backend Module 310. User configuredAutoCheckIn settings are then sent to the App Backend Module (step 717).

FIG. 16C illustrates an example embodiment of a method 740 that may beexecuted by the App Backend Module 310 communicating with the App 311 aexecuting on the user's device 109. Upon receiving a message containinguser configured AutoCheckIn settings from the App 311 a (step 741), theApp Backend Module 310 extracts from the received message the ID of thesubscriber SMT 200 associated with the user of the App 311 a (step 742)and the AutoCheckIn settings included in the message (step 743). The AppBackend Module 310 processes, formats and stores the receivedAutoCheckIn settings (ACI settings) into the unit_AutoCheckIn field 382in the Notification Service database 305 in the record 370 (FIG. 12)associated with the extracted subscriber SMT ID (step 744). The AppBackend Module 310 also sets the unit_Change field 380 in the record 370associated with the extracted subscriber SMT ID to TRUE (step 745) tosignal the Notification Service 300 to send the User Configurable SMTsettings (including the AutoCheckIn settings in unit_AutoCheckIn) to theSMT 200 the next time the SMT 200 connects to the Notification Service300.

FIG. 16D illustrates an example embodiment of a method 750 that may beexecuted by the SMT 200 after connecting to the Notification Service 300and receiving User Configurable SMT settings (including the AutoCheckInsettings in unit_AutoCheckIn). Upon receiving the User Configurable SMTsettings from the Notification Service 300, the SMT 200 reads and/ordecodes the AutoCheckIn settings from the received message (step 751)and determines whether AutoCheckIn is or should be in the On state(e.g., unit_AutoCheckIn:On=TRUE) (step 752). (In some embodiment(s), theOn state is not configurable and AutoCheckIn is always On.) IfAutoCheckIn is not currently in the Off state, or was but should beactively turned off, the SMT 200 stops and/or disables the AutoCheckIntimer (step 756). Otherwise, the SMT 200 stores the value of theunit_AutoCheckIn:Time (collected via UI control 702 in FIG. 16A) inlocal memory (step 753) and sets an AutoCheckIn (ACI) timer to countdown a timer period equal to the time the user input via the UI control702 (i.e., the value of unit_AutoCheckIn:Time) (step 754). The SMT 200then enables (if not already enabled) and starts the ACI timer (step755).

FIG. 16E shows an example method 760 of operation of the SMT 200 uponexpiration of the ACI timer. As shown therein, the SMT 200 sends astatus notification to the Notification Service 300 (step 761), thensets the value of the ACI timer to the time value indicated byunit_AutoCheckIn:Time (step 762) and restarts the ACI timer (step 753).In an embodiment, the ACI timer is also reset every time the SMT 200sends an alert notification to the Notification Service 300.

Alert Delays

The SMT 200 and Notification Service 300 may together implement an AlertDelay feature which allows the SMT 200 to be programmed to delay sendingof alert messages to the Notification Service 300 by a predeterminedamount of time. In an embodiment, the Alert Delay feature allowsselection of a Batch mode or an Ignore mode, discussed hereinafter. Inan embodiment, the amount of delay time (or Alert Delay Time) is auser-configurable SMT setting. Alternatively, the Alert Delay Time maybe pre-programmed by the manufacturer of the SMT and is not configurableby the user.

FIGS. 17A-17E depict an example implementation of a Alert Delay feature.FIG. 17A shows the App 311 a executing in an end user's electronicdevice 109, displaying an Alert Delay feature user interface (UI) 800that provides UI controls 801, 802 that allow a user to configure theAlert Delay Time setting(s). FIG. 17B shows a flowchart illustrating anexample method 810 that may be executed in the App 311 a running on theelectronic device 109. As shown, the App 311 a displays the Alert DelayUI 800 with various UI controls 801, 802 (step 811) for receiving userinput (step 812). Upon receiving user input, the App 311 a processes anddecodes the user input to determine which UI control sourced the userinput (steps 813, 815) and update the display of the respective control801, 802 based on the decoded user input (steps 814, 816). The App 311 aformats the collected changes into a message and sends the UserConfigurable Alert Delay settings to the App Backend Module 310. Userconfigured Alert Delay settings are then sent to the App Backend Module(step 817).

FIG. 17C illustrates an example embodiment of a method 840 that may beexecuted by the App Backend Module 310 communicating with the App 311 aexecuting on the user's device 109. Upon receiving a message containinguser configured Alert Delay settings from the App 311 a (step 841), theApp Backend Module 310 extracts from the received message the ID of thesubscriber SMT 200 associated with the user of the App 311 a (step 842)and the Alert Delay settings included in the message (step 843). The AppBackend Module 310 processes, formats and stores the received AlertDelay settings into the unit_AlertDelay field 383 in the NotificationService database 305 in the record 370 associated with the extractedsubscriber SMT ID (step 844). The App Backend Module 310 also sets theunit_Change field 380 in the record 370 associated with the extractedsubscriber SMT ID to TRUE (step 845) to signal the Notification Service300 to send the User Configurable SMT settings (including the AlertDelay settings in unit_AlertDelay) to the SMT 200 the next time the SMT200 connects to the Notification Service 300.

FIG. 17D illustrates an example embodiment of a method 850 that may beexecuted by the SMT 200 after connecting to the Notification Service 300and receiving User Configurable SMT settings (including the Alert Delaysettings in unit_AlertDelay). Upon receiving the User Configurable SMTsettings from the Notification Service 300, the SMT 200 reads and/ordecodes the Alert Delay settings from the received message (step 851)and locally stores the Alert Delay settings (step 852).

When the SMT 200 receives an alert notification, the SMT 200, as shownin the method 860 of FIG. 17E, first checks to see if theunit_AlertDelay:On is TRUE, and if so, moves unit_AlertDelay:Time to anAlert Delay (AD) timer, starts the AD timer, and wait until the AD timerexpires (step 861). Upon expiration of the AD timer, the SMT 200 thensends the alert notification message to the Notification Service 300(step 862), thereby effecting a transmission delay in notifying theNotification Service 300. While the ND timer is counting down,additional sensor alerts may either be ignored or batched andtransmitted as a batch in step 862 (which may be implemented withcontrols and logic similar to respective controls 502 a, 602 andrespective logic 562 a and 661-663 of respective FIGS. 14a and 14E, andFIGS. 15a and 15E).

Battery Saving Mode

The SMT 200 and Notification Service 300 may together implement aBattery Saving Mode (BSM) which can automatically turn on after apredetermined number of alerts and once BSM is activated, operates todelay the transmission of alert notification messages to theNotification Service by a predefined amount of time. In an embodiment,number of sensor alerts and/or the amount of notification delay time (orBSM time) are User Configurable SMT settings. Alternatively, the BSMsettings may be pre-programmed by the manufacturer of the SMT and notconfigurable by the user.

FIGS. 18A-18E depict an example implementation of a Battery Saving Modefeature. FIG. 18A shows the App 311 a executing in an end user'selectronic device 109, displaying a BSM user interface (UI) 900 thatprovides UI controls 901, 902, 903 that allow a user to configure theBSM setting(s). FIG. 18B shows a flowchart illustrating an examplemethod 910 that may be executed in the App 311 a running on theelectronic device 109. As shown therein, the App 311 a displays the BSMFunctionality UI 900 with various UI controls 901, 902, 903 (step 911)for receiving user input (step 912). In an embodiment, the controlsinclude BSM:On 901 corresponding to the control that allows the user toturn the BSM feature on or off, BSM:# Alerts 902 corresponding to thenumber of alerts that the SMT 200 must receive within a preprogrammedtime period (e.g., 15 minutes) prior to activating BSM, and BSM:Time 903corresponding to the amount of time that the SMT 200 should delaynotifying the Notification Service 300 of the next alert should one ormore sensor alerts be received by the SMT 200 during the delay period.The BSM UI 900 also includes a mode control 904 that allows a user toselect whether to store subsequent alerts and send all to theNotification Service when the SMT 200 next connects to the NotificationService 300 at the expiration of the BSM:Time value (“Batch” mode), orto ignore alerts received during the delay period (“Ignore” mode). Uponreceiving user input, the App 311 a processes and decodes the user inputto determine which UI control sourced the user input (steps 913, 915,917) and update the display of the respective control 901, 902, 903based on the decoded user input (steps 914, 916, 918). The App 311 aformats the collected changes into a message and sends the UserConfigurable Alert Delay settings to the App Backend Module 310. Userconfigured Alert Delay settings are then sent to the App Backend Module(step 919).

FIG. 18C illustrates an example embodiment of a method 840 that may beexecuted by the App Backend Module 310 communicating with the App 311 aexecuting on the user's device 109. Upon receiving a message containinguser configured BSM settings from the App 311 a (step 941), the AppBackend Module 310 extracts from the received message the ID of thesubscriber SMT 200 associated with the user of the App 311 a (step 942).The App Backend Module 310 processes, formats and stores the receivedBSM settings into the unit_BSM field 388 in the Notification Servicedatabase 305 in the record 370 associated with the extracted subscriberSMT ID (steps 943 and 944). The App Backend Module 310 also sets theunit_Change field 380 in the record 370 associated with the extractedsubscriber SMT ID to TRUE (step 945) to signal the Notification Service300 to send the User Configurable SMT settings (including the BSMsettings in unit_BSM) to the SMT 200 the next time the SMT 200 connectsto the Notification Service 300.

FIG. 18D depicts an example embodiment of a method 950 that may beexecuted by the SMT 200 after connecting to the Notification Service 300and receiving User Configurable SMT settings (including the BSM settingsin unit_BSM). Upon receiving the User Configurable SMT settings from theNotification Service 300, the SMT 200 extracts the BSM settings from thereceived message (step 951) and locally stores the BSM settings (step952). The SMT 200 may check to see if the user has turned on the BSMfeature (step 953) and if not, the SMT 200 does not execute the BSMfeature, but may clear the local BSM variables (steps 956, 957). If theBSM feature has been turned on, the SMT 200 initializes an alert counterto zero (if counting up), or to the alert count BSM_alert_count ifcounting down (step 954) and, if counting up, sets the value of a countthreshold variable, BSM_count_threshold, to the value ofunit_BSM:alert_count (step 955).

FIG. 18E illustrates an example method 960 that the SMT 200 may performupon receiving a sensor alert and prior to sending an alert notificationto the Notification Service 300. As shown, the SMT 200 checks to see ifthe unit_BSM:On is TRUE (step 861), and if so, increments theBSM_alert_count variable if counting up, or decrements theBSM_alert_count if counting down (step 962). If counting up, and thevalue of the BSM_alert_count variable has reached (or exceeds) the alertcount threshold value, or if counting down and the value of theBSM_alert_count has reached 0 (step 963), the SMT 200 sets a BSM timervalue to the value of unit_BSM:Time, and then starts the BSM timer (step964). The SMT 200 may continue operating as normally, including goinginto PSM until a sensor alert or the BSM timer (or Check-in timer)wakens it.

FIG. 18F shows a method 970 that the SMT 200 executes when the BSM timerexpires. As illustrated, if Batch mode is True, the SMT 200 batches anysaved alerts with the current sensor alert (step 971). The SMT 200 thensends the current alert (or, if Batch mode is True, sense the batchedset of alerts) to the Notification Service 300 (step 972), sets the BSMtimer to the BSM:time value and restarts the BSM timer (step 973).

Optionally, the BSM may be programmed to set a BSM deactivation timer(step 956 in FIG. 18D) in order to reset the BSM mode once everypredefined time period. The BSM deactivation feature may be desirable toreset the SMT 200 to begin notifying the Notification Service 300 againon every sensor alert. An example use case may be that the SMT 200 isattached to a trap 2 that is being transported, but has for whateverreason not been powered off, causing a movement sensor to repeatedlysend sensor alerts to the SMT controller 201. Once the trap 2 hasarrived at a resting location, the sensor alerts cease due to lack ofmovement activity at the trap 2; further sensor alerts will typicallyindicate that “interesting” activity, or activity of interest to thesubscriber of the Notification Service is occurring at the trap 2. Inthis example situation, the BSM may have been activated duringtransport, and unless BSM is deactivated once the trap is in its restinglocation, the Notification Service will receive only delayed sensoralerts going forward from the time the BSM was activated. Such situationmay not be ideal to the subscriber of the Notification Service 300,since once a burst of activity has ended, the next burst of sensor alertactivity may indicate a new cause for the activity—that is the new burstof activity may be unrelated to the previous burst of activity, and mayof interest to the user. Such user may desire to be notified withoutdelay when a new burst of activity begins. Accordingly, in a preferredembodiment, the SMT 200 is preprogrammed to deactivate BSM once everypredefined interval of time (for example, once every 24 hours, onceevery 3 hours, or other time period that strives to meet the objectiveof balancing between over-notification due to a burst of activity at thetrap, and timely notification when new activity is detected. To thisend, when the SMT 200 sets up the BSM (steps 953-955 of FIG. 18D), theSMT 200 may also set a BSM Deactivation timer to the predefined intervalof time, and then start the timer (step 956). Once the BSM Deactivationtimer expires, the SMT 200 executes a service routine 980 whereby itclears the BSM_alert_count (step 981) to deactivate BSM so that it willsend alert notification messages to the Notification Service on everysensor alert unless and until BSM is turned off or the number of alertsreaches the alert count threshold as set in BSM:# Alerts 902 during theBSM deactivation time interval as set in BSM:Time 903.

FIG. 19 is a flow diagram illustrating various activities that eitherthe SMT 200 can determine based on sensor alerts it receives fromsensor(s) 206. Alternatively, the notification service 300 can determinethe various activities based on the sensor-sourced alert information itreceives from alert messages from the SMT 200. As illustrated in FIG.19, the method comprises receiving sensor information from or concerningthe SMT sensor(s) 206 (or from sensor remote to the SMT, as discussedhereinafter) (step 1001), and evaluating the received sensor informationto determine one or more types of activities or states (step 1002). Thetype of activities or states may include: a Trap Door Closed activity(i.e., the trap door recently changed from an open state to a closedstate) (step 1003); a Trap Door Opened activity (i.e., the trap doorrecently changed from a closed state to an open state) (step 1004); anAnimal Trapped state (i.e., an animal is detected as trapped in the trap2) (step 1005); an Animal Size state (i.e., a determination of a size orweight of a trapped animal) (step 1006); an Animal Type state (i.e., adetermination of a type of animal trapped in the trap) (step 1007); aTamper Activity state (i.e., activity is detected at the trap that maynot yet have amounted to trapping of an animal) (step 1008); one or moreEnvironmental Condition Status(s) at the trap (i.e., temperature,humidity, detection of rain, snow, hail, wind, etc. at the trap) (step1009); Location Change activity (i.e., change in geo-location of thetrap) (step 1010). It is to be understood that the activities and states1002-1010 are exemplary and not limiting to the spirit and scope of theinvention.

To determine the activities or states, the controller 201, or thenotification service 300 uses information detected by the sensors 206.Different and various sensors 206 may be implemented at the SMT 200 todetect all of the states. In an exemplary embodiment, the SMT 206includes a reed switch 4 b, an accelerometer 4 a, a range sensor (notshown), a load sensor (not shown, such as a pressure sensor, acapacitive load sensor, etc.), a camera sensor, a GPS transceiver, andsensor(s) that sense environmental conditions of interest. The followingdetermination methods are presented herein as exemplary and it is to beunderstood that many different state or activity determinationmethodologies can be implemented to detect the various states andactivities of interest at the trap 2.

In an embodiment, SMT 206 determines presences of a Trap Door Closedactivity (i.e., the trap door recently changed from an open state to aclosed state) (step 1003) upon receiving an alert from the reed switchthat the reed switch activated (i.e., sufficient magnetic field due toproximity of reed switch and magnet) (step 1011).

In an alternative embodiment, SMT 206 determines presences of a TrapDoor Closed activity (i.e., the trap door recently changed from an openstate to a closed state) (step 1003) upon receiving an alert from theaccelerometer that it has detected vibration above a predeterminedthreshold (step 1012). The threshold may be set to a level that is metor exceeded upon the closing of the movable trapping member 3 f, andthat is above a level that normal weather or other vibrational movementwould not reach the vibrational threshold. It is known that many snaptraps or trigger-based traps cause a loud bang or experience a largeforce when such trap is triggered. For example, a load plate (not shown)may sit atop a door release mechanism (not shown) in the trap 2, andwhen an animal steps on the load plate, the door is may be pulled shutwith a large force under the tension of a spring (not shown). Other trapmechanisms also typically close the trap on an animal with significantforce in order to ensure the movable trapping member is caught by acatch mechanism to secure the trapping member in the closed position.Accordingly, in an embodiment, the SMT 200 may include an accelerometeror microphone that is triggered by a predetermined level of vibration orsound magnitude, and if so, the controller 201 may determine that theClosed Door Activity has occurred (step 1012 and 1003).

In an embodiment, SMT 206 determines presence of a Trap Door Openedactivity (i.e., the trap door recently changed from a closed state to anopen state) (step 1004) upon receiving an alert from the reed switchthat the reed switch deactivated (i.e., the reed switch and magnet areno longer in proximity to one another) (step 1013).

In an embodiment, SMT 206 determines an Animal Trapped state (i.e., ananimal is detected as trapped in the trap 2) (step 1005) upon receivingmultiple alerts over a predetermined time duration after the Trap DoorClosed activity is detected) (step 1014).

In an embodiment, SMT 206 determines an Animal Size state (i.e., adetermination of a size or weight of a trapped animal) (step 1006) uponreceiving an alert from a size or weight sensor (such as, but notlimited to, one or more of a range sensor, a PIR sensor, a load sensor,a pressure sensor, etc.) (step 1015) and then based on the sensor signal(e.g., the magnitude represented by the signal), determining the sizeand/or weight of the animal in the trap (step 1016).

In an embodiment, SMT 206 determines an Animal Type state (i.e., adetermination of a type of animal trapped in the trap) (step 1007) uponreceiving an image of the animal in the trap (captured by, for example,a camera sensor) and processing the image with an image classifier(through, for example machine learning or other artificial intelligenceor image processing) (step 1017) to classify the object in the image asone of a plurality of different animals (step 1007).

In an embodiment, SMT 206 determines a Tamper Activity state (i.e.,activity is detected at the trap that may not yet have amounted totrapping of an animal) (step 1008) upon receiving a predetermined numberof accelerometer alerts indicating detection of vibration above apredetermined threshold, the alerts received within a predeterminedduration of time (step 1018).

In an embodiment, SMT 206 determines one or more Environmental ConditionStatus(s) at the trap (i.e., temperature, humidity, detection of rain,snow, hail, wind, etc. at the trap) (step 1009) upon receiving sensoralerts indicating detection of specific monitored environmentalconditions by appropriate sensors that can detect such specificenvironmental conditions (step 1019). For example, a monitored conditionmay be temperature above a predetermined threshold, and the sensor maybe a thermo-sensor that can generate an output signal indicating thetemperature has met or exceeded the threshold.

In an embodiment, SMT 206 determines Location Change activity (i.e.,change in geo-location of the trap) (step 1010) by enabling a GPStransceiver at the SMT (see 1100 in FIG. 20), recording the GPScoordinates, and comparing the recorded GPS coordinates to previouslyrecorded GPS coordinates (step 1020), and determining that there hasbeen Location Change activity if there is a difference in the presentlyrecorded GPS coordinates and the previously recorded GPS coordinates(step 1010).

Referring again to FIG. 5, SMT 200 may include a location informationtransceiver 209 which receives location information from a satellitesystem such as GNSS or from another geolocation system such as a LoRa,cellular or WiFi network, and extracts location information such aslongitude and latitude, GPS coordinates, or other labeled geolocationidentifier(s). In an embodiment, the location information transceiver209 comprises a GNSS transceiver which receives Global PositioningSystem (GPS) signals from the Global Navigational Satellite System andextracts the GPS coordinates. When location information is collected,the controller 201 may store the location information in the computermemory 202 and/or may compare it to previously stored locationinformation to determine whether the trap 102 has moved from thelocation indicated by the previously stored location information. Thus,in an embodiment, the SMT 200 may include only the location informationtransceiver 209 and not the accelerometer 206 a, while the movementdetection device 206 may be a processor such as a CPU and programminginstructions which implement the location comparison between apreviously stored location value and a current location value based onthe location information extracted from the location transceiver 209 viaa transceiver antenna 209 a. In an alternative embodiment, the SMT 200includes both the accelerometer 206 a and the location transceiver 209,whereby after the trap 102 is placed in a low power mode initialvibrational movement of the trap 102 is first detected by theaccelerometer to alert and wake up the controller 201 to turn on fullpower mode to the controller 201, cellular modem 203 and locationtransceiver 209 to obtain current location information and send thecurrent location information as part of the message payload when sendingthe alert message to the Notification Service 107. Thus, if and when thetrap 102 is moved, the movement will trigger an alert message to theNotification Service 107, whereby the alert message will indicate notonly that the SMT 105 of the trap 102 has detected movement of the trap102, but also indication of current location information of the trap102.

When location information 33 is included in the alert message 30, thecontrol module 301 may pass the location information extracted from themessage payload 30 to a mapping module 312. The mapping module 312 maycombine the location information with a map image or map file or mappinginformation to generate a visual map image for display on a web page orin an app 311 a, in order to provide a visual indicator indicating thelocation of the trap 102 on the map. In an embodiment, the end user app311 a displays the visual map with visual indicator of the location ofthe trap 102.

If the SMT 200 is not equipped with the location information transceiver309, location information may be entered manually using the app 311 a ora web portal (not shown) which allows the person installing the trap 102in a location to enter labeled information (such as street address,location within building, manually determined location information,etc.). Alternatively, the person installing the trap 102 may use aGPS-enabled device such as their smartphone to determine locationinformation. For example, the user of the app 311 a on a smartphone canuse native device code (for either IOS or Android or another deviceoperating system) to obtain longitude and latitude. The end usertypically must accept the use of location services for the feature to beenabled. Once the end user enables the feature they can then use amapping service such as a “Google Maps” overlay which will send thelongitude and latitude via an API which will then return and display thelocation on a map on the screen of the user's device. The end user mayalso choose to use Google Maps without an API call and set a “map pin”manually which can be stored in the subscriber database associated withthe SMT 200 device ID to see the last known static location.

FIG. 20 is a block diagram of an SMT hub 1100. In this embodiment, theSMT hub 1100 includes a controller 1101 such as but not limited to amicrocontroller, a microprocessor, an FPGA, a CPU, etc., along withcomputer readable storage memory 1102, a cellular modem 1103 withantenna 1104, a SIM 1105, a battery supply 1107 and a power switch 1108.Additionally, the SMT hub 1100 may include one or more integratedsensors 1106 a, 1106 b, 1106 n (collectively 1106) that sense, and/orsense and process, an environment, to respectively detect a respectivepredefined condition and to alert the controller 1101 upon detection ofsuch predefined condition. Sensors 1106 may be directly electricallycoupled to the controller 1101. For example, each of sensors 1106 mayhave a corresponding alert output that electrically connects, directlyor indirectly through additional circuitry, to one or more interruptports of the controller 1101. Corresponding interrupt service routineswithin the program code of the controller 1101 (which may be stored inmemory 1102) implement control logic for processing the alert, decodingthe alert (if necessary), determining whether to send an alert messageto an external Notification Service (such as Notification Service 123)in cooperation with the cellular modem 1103 over an LPWAN. In anembodiment, the SMT hub 1100 does not include any integrated sensors1106 but communicates with remote sensors, as described below.

In an embodiment, the SMT hub 1100 includes a local area transceiver1109, such as a 433 or 914 MHz transceiver, equipped with an antenna1110. With reference to FIG. 21, in an embodiment where the SMT hub 1100is equipped with a local area transceiver 1109, the SMT hub transceiver1109 listens for signals from remote sensors 1121 a, 1121 b, 1121 m(collectively 1121) located in the proximate environment 1120 where theSMT hub 1100 can pick up the local signal(s) transmitted over the localarea antenna(s) from the sensor(s) 1121. In an embodiment, the SMT hublocal area transceiver 1109 (FIG. 21) is a receiver only, and onlyreceives signals from the remote sensors 1121 and does not communicateout to the remote sensors 1121. In an embodiment, any number of remotesensors 1121 may transmit alerts and the SMT hub may process alerts sentby any number of remote sensors 1121. In this way, the SMT hub 1100 canbe configured to operate as a gateway for the remote sensors 1121 (andfor other hubs, if desired) to the Notification Service 123 for sendingout alert notifications to notification recipients.

In an embodiment, to conserve power, the transceiver 1109 is a low powertransceiver that when not active enters a power saving mode (PSM) and“wakes up” periodically (for example, every second or every few seconds)to listen for a message from a remote sensor unit 421. The remote sensorunit 421 may be configured to transmit for a few times longer than theperiod the transceiver wake period, so that the SMT is guaranteed to bein a wake period at least once during the sensor transmission period. Inorder to conserve battery life, both the transceiver 1109 of the SMT hub400 and the sensor unit 421 automatically go into a PSM state when nottransmitting or when not in a wake period. Further to conserve power,the transceiver component of the SMT hub 400 and the components of thesensor unit 421 each comprises a low-power electronic component.

FIG. 22 depicts an example high-level format of a message that istransmitted by a remote sensor 1121 a, 1121 b, 1121 m to the SMT hub1100. As illustrated, the message comprises a plurality of binary bits,and includes a number of bits referred to as a pilot period 1132 whichthe local transceiver 1109 on the SMT hub 1100 uses to trigger the startof a potential message. The message format 1130 further includes asynchronization period comprising a known pattern of bit values used bythe SMT hub 1100 to synchronize the receiver with the incoming datastream. Following the sync period, in an embodiment, the messagecontains an address period, where the sensor broadcasts an addressrecognizable by the SMT hub 1100. A number of data periods, containingat least sensor identification data (such as its serial number, the typeof the sensor, and a number of status and/or control bits from which thecontroller 1101 can identify which sensor is sending the message, andwhat its status is and/or whether it needs to perform any controloperations (such as updating firmware, notifying of a low batterycondition, etc.). Following the data periods 1134, 1135, 1136, the SMThub 1100 transmits a Post code which indicates that the communication iscomplete.

Returning to FIG. 20, in an embodiment, the SMT hub 1100 comprises aGlobal Navigation Satellite System receiver (and processor) 1111 (suchas one capable of acquiring and processing signals from the GlobalPositioning System (GPS), GLONASS, Galileo, Beidou and other regionalsatellite navigation systems) to determine location of the SMT hub 1100using time signals transmitted via satellite radio waves along a line ofsight. In an embodiment, the GNSS receiver is integrated into the sameintegrated circuit chip as the cellular modem 1103. For example, in oneembodiment, the cellular modem 1103 and GNSS Receiver 1112 areimplemented using a Quectel BG96, as detailed previously. In anembodiment, the controller 1101 may turn on the GNSS receiverperiodically to acquire the current position of the SMT hub 1100. In anembodiment, when an alert message is formulated and sent to theNotification Service 123, the controller obtains the current (or mostrecent) geo-spatial position of the SMT hub 1100 as acquired by the GNSSReceiver and processor 1111, and includes the current (or most recent)location coordinates in the payload of the alert message that it sendsto the Notification Service 123. The Notification Service 123 may usethe geo-spatial position coordinates to as data input to its controllogic. Alternatively, the Notification Service 123 may include thegeo-spatial position coordinates in its message to notificationrecipients.

As previously mentioned, an important consideration in theimplementation of the SMT 200 or SMT hub 1100 and other system elementsmay be the limited power supply available for powering the SMT/SMT hubdue to its stand-alone battery power supply 207/1107. In order tomaximize the life of the SMT 200 or SMT hub 400 in the field, theSMT/hub may be configured to implement several additional power savingfeatures. In an embodiment, the controller 201/401 is programmed todetermine whether, and how often, to send an alert message to theNotification Service when any of its sensors 206/406/421 sensescorresponding predefined conditions.

In an embodiment, the sensor(s) 1106 and/or 1121 comprise low-powersensors such as low-power MEMS sensors previously discussed, and theSMT/SMT hub 1100 is placed in proximity to, attached to, embedded in,integrated into, or otherwise associated with an trap 102. The GNSSReceiver and processor 1111 allow the controller 1101 to collect,process and transmit location information from the GNSS to theNotification Service 300 for storage, monitoring and notification tonotification recipients. Thus, if a SMT/SMT hub 1100 detects sensedconditions that it is monitoring, the Notification Service 300 cannotify designated notification recipients of the following: (1) themonitored condition was sensed at the trap 2.

It will be appreciated that the technologies, in particular the SMT 200,SMT hub 400 and Notification Service 300, may be implemented and used inmany other applications. By way of example and not limitation, in anembodiment, the sensor unit may comprise one, or a combination of, thefollowing sensors: an accelerometer, a microphone, a passive infrared(PIR) sensor, a reed switch, a camera, a liquid level sensor, a chargesensor, a load sensor, a voltage sensor, a resistance sensor, acapacitance sensor, a thermo sensor, a temperature sensor, a humiditysensor, a flex sensor, a pressure sensor, a chemical composition sensor,a light sensor, a UV Index sensor, a sound sensor, a wind sensor, apositioning sensor, a moisture sensor, etc. In an embodiment, a systemincludes a plurality of sensor units positioned in proximity (withinreceiver range) to the transceiver of a SMT hub. Such SMT hub includesprogram instructions to listen for sensor event alerts from remotesensor units 1121 within its receiving range, identify the sensorsending a sensor event alert, decode such sensor event alert(s) and sendone or more message alert(s) to the Notification Service to alertnotification recipients to the occurrence of the sensor event using oneof the designated notification delivery methods associated with theSMT/SMT hub.

The the SMT 200, SMT hub 400 and Notification Service 300 may be used ina plurality of other applications besides trapping. In an embodiment,the SMT hub may be physically attached to a door, a window, a rodent oranimal trap, a mailbox, a trashcan, a safe, a cabinet, a portable objectsuch as a vehicle, a boat, a bicycle, a tractor, a generator, a beehive,a motor, or any object that one desires to monitor. Vibration caused bymovement, tampering, falling, interference, or other interaction withthe monitored object will generate a notification message to one or moredesignated notification that the monitored object has been moved,tampered or interfered with, fallen, or otherwise sensed a monitoredcondition. The system allows monitoring of objects without requiring anexternal power supply or frequent battery replacement or recharging. Thelow power SMT unit 200 can last 5-10 years using 3 conventional AAA or 2AA batteries based on 2300 network connections (pings) at 2 pings perday.

Another advantage of the systems discussed herein, and in particularwith respect to the SMT hub 400 system with external sensors asdiscussed in connection with FIGS. 20-22 is that it allows end users toset up a monitoring and notification system on a modular basis. That is,an end user can install an SMT hub 400 in an environment, and then placeremote sensor units 1121 of the same or different types anywhere withinthe signal range of the SMT hub 400, and receive alerts if any one ofthe remote sensor units 1121 alerts the SMT hub 1100. The placement ofthe sensors 1121 is completely up to the end user, and no sensor 1121 isrequired to communicate with any other sensor 1121 in the system. Theyneed only transmit an alert using the sensor transceiver protocol thatis recognized by the SMT hub 1100, and the SMT hub 1100 will pick up thealert and notify the notification service to notify the notificationrecipients associated with the SMT hub 1100. The modular monitoringsystem is easy to install because since the SMT hub 1100 is equippedwith a self-contained power source (i.e., a battery or solarpanel/inverter) and does not require a WiFi or LAN access port. The SMThub 1100 and sensors 1121 can be placed anywhere, including remotelocations (so long as the LPWAN provides sufficient coverage to allowthe SMT hub 1100 to connect to the LPWAN. Modular, Do-It-Yourself simpleto install and user-configurable monitoring system design, Always-On,Long-Lasting, self-contained—all these advantages over existing andprior art monitoring and notification systems.

It will further be appreciated that although the preferred embodimentuses an LPWAN over which to transmit alert messages, in otherembodiments, the SMT 200 and/or SMT hub 400 may additionally or insteadbe equipped with a WiFi modem to transmit the messages to the nearestWiFi access port and from there onto the Internet 120 to theNotification Service 300.

FIG. 23A shows an exploded view, and FIG. 23B shows a front perspectiveview of an embodiment of a trap monitor 1300. As illustrated in FIG.23B, when initially shipped, the trap monitor 1300 has a pull-tab 1302insert that insulates an internal sealed battery 1301 in order toprevent battery discharge from the trap monitor circuitry. The pull-tab1302 is removed by the user to power on the trap monitor 1300. The trapmonitor 1300 is attached, affixed, connected, adhered to or otherwiseplaced in physical contact or in sensing proximity with a trap to bemonitored, for example a mousetrap 1308. In an embodiment, the trapmonitor 1300 comprises adhesive tape 1303 with protective backing (notshown) on at least one exterior surface of the smart trap monitor 1300.In such embodiment, the trap monitor 1300 is adhered to the mousetrap1308 by removing the adhesive backing of the adhesive tape 1303 andplacing the exposed tape surface against a surface of the mousetrap1300. The trap monitor 1300 comprises an SMT 200 or SMT hub 400 as itscircuitry. The SMT 200/SMT hub 400 operates as previously described anddetects events at the mousetrap, including detection of “snapping” ofthe trap, detection of the presence of an animal in the trap, etc. AnSMT hub 400 can be placed in proximity to a mousetrap 1308, and othersensors 421 can be placed at other mousetraps and communicate with thehub 400, which can notify individuals of events at the mousetraps 1308,in accordance with the foregoing description in connection with FIGS.20-22.

Interesting information can be collected about the traps and activityconnected therewith. For example, the notification service 300 may storethe history of the alert notifications from a given SMT 200 or remotesensor 421. The historical information allows data such as number ofalerts, number of animals, size and type of animals, weather conditions,and other conditions to determine activity at the site of the trap 2,SMT 2 and/or remote sensors 421. Analysis of such data can reveal areasof high activity, which can assist in identifying where a user of theSMT 200 should focus efforts in engaging with such activity. Forexample, if the SMT hub 400 is used as a mousetrap monitor, such as trapmonitor 1300, if historical data shows that most trap activity eventsoccur at one or two mousetraps out of many mousetraps in an area, thenthis information can potentially be used to locate points of entry inthe area, or to assist in where additional pest control measures may betaken to step up its effectiveness.

The data may further be used to feed visual displays and indicators onthose displays. For example, a map may be displayed, with overlay(s)displaying SMT/sensor locations, which may be color-coded to indicateactivity level at each SMT/sensor. For example, using a green/yellow/redcoding, an SMT or sensor may be depicted using a green color if noactivity has been detected during a given time period, and may be yellowif some activity has been detected, and may be red if the SMT/sensor hasseen a lot of activity. This allows a viewer of the display to quicklysee and locate the SMTs/sensors where the most activity is taking place.

Alternatively, the display may include an activity selector, which whenselected, displays only the selected activity. For example, in anembodiment, a user can select red, yellow, and/or green, and the mapupdates to show only those traps/SMTs/sensors that have the selectedstatus.

The data can also be used to learn about the environment of or activityat the trap 2/SMT 200/sensors 421 over time, for example to learn aboutwhat bait works for different animals, what time of year certain animalsare caught, and so on. The data can also be used for scheduling androuting trapping or pest control technicians. A business with multipletechnicians may use the information to prioritize which traps 2 need tobe visited based on the activity data generated by multiple trap SMTs200 in the field, and then assign trap visitation to differenttechnicians, and determine a route for the technical. In an embodiment,the locations of the assigned SMTs are fed to map routing software (suchas Googlemaps) which automatically generates an efficient travel route.Preferably, to allow flexibility, once a route is generated, the routingsoftware also allows the technician to add, remove, or modify stopsalong their own route.

From the foregoing, it will be appreciated that numerous variations andmodifications may be effected regarding the monitoring and notificationsystem described herein, without departing from the spirit and scopehereof. It is to be understood that no limitation with respect to thespecific apparatuses, method, and systems illustrated herein is intendedor should be inferred. It is, of course, intended to cover by theappended claims all such modifications as fall within the scope of theclaims. Further, logic flows depicted in the figures do not require theparticular order shown, or sequential order, to achieve desirableresults. Other steps may be provided, or steps may be eliminated, fromthe described flows, and other components may be added to, or removedfrom the described embodiments.

What is claimed is:
 1. An electronic monitoring device monitoring atrap, comprising: a wireless transmitter, the wireless transmitterelectrically coupled to an antenna; a sensor having a sensor input toreceive sensory input, and an output port, the sensor arranged to detectone or more predetermined conditions based on the received sensory inputand to generate one or more output signals on the output port inresponse the detected one or more predetermined conditions; electronicmemory which stores an identifier, the identifier identifying theelectronic monitoring device; a controller electrically connected to thememory and the wireless transmitter, the controller having an input thatis electrically connected to receive a sensor notification signalrepresenting the one or more output signals on the output port of thesensor, wherein, in response to the sensor notification signal, thecontroller accesses one or more operational parameters to determinewhether to ignore the sensor notification signal, or to immediatelynotify a notification service accessible via a network and executing ona remote computer that is connected to the network, or to delaynotifying the notification service, wherein if the controller determinesto immediately notify the notification service, the controller encodesthe identifier and alert information related to the one or more outputsignal into an alert message and transmits the alert message, via thetransmitter and the network, to the notification service; wherein uponreceipt of the alert message by the notification service, thenotification service identifies a notification recipient electronicdelivery address and corresponding electronic delivery serviceassociated with the identifier, and sends an electronic notificationmessage to a remote electronic device capable of receiving electronicmessages addressed to the identified notification recipient electronicdelivery address using the identified electronic delivery service, thenotification message notifying a user of the remote electronic device ofinformation associated with the alert information; and wherein indetermining whether to ignore the sensor notification signal, or toimmediately notify the notification service or delay notifying thenotification service, the controller bases its determination on the oneor more operational parameters, the one or more parameters comprising apause parameter and a delay parameter, the controller determining toignore the sensor notification signal if pause parameter indicates apause function is enabled, the controller determining to delay notifyingthe notification service if the delay parameter indicates thenotification should be delayed, and the controller determining toimmediately notify the notification service if the pause function is notenabled and the delay parameter does not indicate that the notificationshould be delayed.